<!DOCTYPE html>
<!-- saved from url=(0069)https://developer.android.com/training/wearables/get-started/creating -->
<html lang="en" dir="ltr" crosspilot=""><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta name="google-signin-client-id" content="721724668570-nbkv1cfusk7kk4eni4pjvepaus73b13t.apps.googleusercontent.com">
    <meta name="google-signin-scope" content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award">
    <meta property="og:site_name" content="Android Developers">
    <meta property="og:type" content="website"><meta name="theme-color" content="#3ddc84">
    <meta content="IE=Edge" http-equiv="X-UA-Compatible">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    

    <link rel="manifest" href="https://developer.android.com/_pwa/android/manifest.json" crossorigin="use-credentials">
    <link rel="preconnect" href="https://www.gstatic.com/" crossorigin="">
    <link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin="">
    <link rel="preconnect" href="https://fonts.googleapis.com/" crossorigin="">
    <link rel="preconnect" href="https://apis.google.com/" crossorigin="">
    <link rel="preconnect" href="https://www.google-analytics.com/" crossorigin=""><link rel="stylesheet" href="./Create and run a wearable app  _  Android Developers_files/css">
      <link rel="stylesheet" href="./Create and run a wearable app  _  Android Developers_files/css(1)"><link rel="stylesheet" href="./Create and run a wearable app  _  Android Developers_files/app.css">
      <link rel="shortcut icon" href="https://www.gstatic.com/devrel-devsite/prod/vc705ce9bd51279e80f03a51aec7c6eb1f05e56e75c958618655fc719098c9888/android/images/favicon.png">
    <link rel="apple-touch-icon" href="https://www.gstatic.com/devrel-devsite/prod/vc705ce9bd51279e80f03a51aec7c6eb1f05e56e75c958618655fc719098c9888/android/images/touchicon-180.png"><link rel="canonical" href="https://developer.android.com/training/wearables/get-started/creating"><link rel="search" type="application/opensearchdescription+xml" title="Android Developers" href="https://developer.android.com/s/opensearch.xml">
      

<title>Create and run a wearable app &nbsp;|&nbsp; Android Developers</title>

<meta property="og:title" content="Create and run a wearable app  |  Android Developers"><meta property="og:url" content="https://developer.android.com/training/wearables/get-started/creating"><meta property="og:image" content="https://developer.android.com/images/social/android-developers.png">
  <meta property="og:image:width" content="1200">
  <meta property="og:image:height" content="675"><meta property="og:locale" content="en"><meta name="twitter:card" content="summary_large_image">
  <meta name="xsrf_token" content="D9sMqH_OE6nk893v03T5J5VYObzGFvDxahZmdVKKlaA6MTY0ODI4MzU5OTM3NzA3MA">
  

  <meta name="session_expiry" content="1648286489">
  
  
  
  
  


    <script async="" src="./Create and run a wearable app  _  Android Developers_files/analytics.js.下载"></script><script src="./Create and run a wearable app  _  Android Developers_files/cb=gapi(1).loaded_0" nonce="" async=""></script><script type="text/javascript" async="" src="./Create and run a wearable app  _  Android Developers_files/linkid.js.下载" nonce=""></script><script async="" src="./Create and run a wearable app  _  Android Developers_files/gtm.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_app_module.js.下载" nonce=""></script><input type="hidden" id="_w_pedant"><script type="text/javascript" src="chrome-extension://dbjbempljhcmhlfpfacalomonjpalpko/scripts/inspector.js"></script><style>.one-pan-tip { cursor: pointer;}.one-pan-tip::before {background-position: center;background-size: 100% 100%;background-repeat: no-repeat;box-sizing: border-box;width: 1em;height: 1em;margin: 0 1px .15em 1px;vertical-align: middle;display: inline-block;}.one-pan-tip-success::before {content: '';background-image: url()}.one-pan-tip-error {text-decoration: line-through;}.one-pan-tip-error::before {content: '';background-image: url()}.one-pan-tip-other::before {content: '';background-image: url()}.one-pan-tip-lock::before{content: '';background-image: url()}</style><meta name="ljjc::status" content="on"><script src="./Create and run a wearable app  _  Android Developers_files/devsite_app_custom_elements_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_a11y_announce_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_analytics_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_badger_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_book_nav_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_bookmark_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_code_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_content_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_footer_linkboxes_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_footer_promos_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_footer_utility_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_hats_survey_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_header_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_heading_link_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_language_selector_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_notification_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_panel_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_progress_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_recommendations_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_recommendations_dropdown_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_recommendations_sidebar_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_search_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_select_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_sitemask_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_snackbar_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_tabs_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_thumb_rating_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_toc_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_tooltip_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_user_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_android_fully_clickable_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_badge_awarded_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_dialog_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/analytics.js.下载" nonce=""></script><script async="" src="./Create and run a wearable app  _  Android Developers_files/lazy.min.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_spinner_module.js.下载" nonce=""></script><script src="./Create and run a wearable app  _  Android Developers_files/devsite_devsite_feedback_module.js.下载" nonce=""></script><meta http-equiv="origin-trial" content="A3v9QjmVUCOO7YqFMKHP/NKbn6kY1G1pa2S1TfeXJZUD/tysMONTy6lV0Jkou3rrCjSKRGbqTrgTaZkm1XJ7pQUAAACKeyJvcmlnaW4iOiJodHRwczovL2dvb2dsZXRhZ21hbmFnZXIuY29tOjQ0MyIsImZlYXR1cmUiOiJDb252ZXJzaW9uTWVhc3VyZW1lbnQiLCJleHBpcnkiOjE2NDMxNTUxOTksImlzU3ViZG9tYWluIjp0cnVlLCJpc1RoaXJkUGFydHkiOnRydWV9"><script type="text/javascript" charset="UTF-8" nonce="" src="./Create and run a wearable app  _  Android Developers_files/client.js.下载" gapi_processed="true"></script><style type="text/css"></style><script type="text/javascript" src="./Create and run a wearable app  _  Android Developers_files/CN_chrome.js.下载" data-awssuidacr="lEPvzUF1OUuZb9z4f6vVNzxRBL4RTeYG"></script><script type="text/javascript" async="" src="./Create and run a wearable app  _  Android Developers_files/taas"></script></head>
  <body class="vsc-initialized" template="page" theme="android-theme" type="article" layout="docs" style="--devsite-js-header-height:49px;" ready="" signed-in="">
    <devsite-progress id="app-progress"></devsite-progress>
  
    <section class="devsite-wrapper"><devsite-header top-row--height="49" bottom-row--height="108" bottom-tabs--height="48" fixed="" offset="108" bottom-row--hidden="">
  
    























<div class="devsite-header--inner nocontent">
  <div class="devsite-top-logo-row-wrapper-wrapper">
    <div class="devsite-top-logo-row-wrapper">
      <div class="devsite-top-logo-row">
        <button type="button" id="devsite-hamburger-menu" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Navigation menu button" aria-label="Open menu">
        </button>
        <div class="devsite-product-name-wrapper">

  <a href="https://developer.android.com/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="androidDevelopers" track-metadata-position="nav" track-metadata-eventdetail="nav" one-link-mark="yes">

  
    <img src="./Create and run a wearable app  _  Android Developers_files/lockup.svg" class="devsite-site-logo" alt="Android Developers">
  

</a>



  
  
  <span class="devsite-product-name">
    <ul class="devsite-breadcrumb-list">
  
  <li class="devsite-breadcrumb-item
             ">
    
    
    
      
      
    
  </li>
  
</ul>
  </span>

</div>
        <div class="devsite-top-logo-row-middle">
          <div class="devsite-header-upper-tabs">
            
              
              
  <devsite-tabs class="upper-tabs" connected="">

    

  <nav class="devsite-tabs-wrapper" aria-label="Upper tabs">
      
        
          <tab>
            <a href="https://developer.android.com/about" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/about" track-metadata-position="nav - platform" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Platform" track-name="platform" one-link-mark="yes">
  Platform
</a>

          </tab>
        
      
        
          <tab>
            <a href="https://developer.android.com/studio" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/studio" track-metadata-position="nav - android studio" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Android Studio" track-name="android studio" one-link-mark="yes">
  Android Studio
</a>

          </tab>
        
      
        
          <tab>
            <a href="https://developer.android.com/distribute" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/distribute" track-metadata-position="nav - google play" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Google Play" track-name="google play" one-link-mark="yes">
  Google Play
</a>

          </tab>
        
      
        
          <tab>
            <a href="https://developer.android.com/jetpack" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/jetpack" track-metadata-position="nav - jetpack" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Jetpack" track-name="jetpack" one-link-mark="yes">
  Jetpack
</a>

          </tab>
        
      
        
          <tab>
            <a href="https://developer.android.com/kotlin" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/kotlin" track-metadata-position="nav - kotlin" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Kotlin" track-name="kotlin" one-link-mark="yes">
  Kotlin
</a>

          </tab>
        
      
        
          <tab active="">
            <a href="https://developer.android.com/docs" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/docs" track-metadata-position="nav - docs" track-metadata-module="primary nav" aria-label="Docs, selected" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" one-link-mark="yes">
  Docs
</a>

          </tab>
        
      
        
          <tab>
            <a href="https://developer.android.com/games" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/games" track-metadata-position="nav - games" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Games" track-name="games" one-link-mark="yes">
  Games
</a>

          </tab>
        
      
    <tab overflow-tab="" hidden=""><a href="https://developer.android.com/training/wearables/get-started/creating#" class="devsite-icon devsite-icon-arrow-drop-down">More</a><div class="devsite-tabs-overflow-menu" scrollbars="" hidden=""></div></tab></nav></devsite-tabs>

            
           </div>
          
<devsite-search aria-expanded="false" aria-haspopup="listbox" enable-signin="" enable-search="" enable-suggestions="" enable-query-completion="" project-name="Android Developers" tenant-name="Android Developers" role="combobox">
  <form class="devsite-search-form" action="https://developer.android.com/s/results" method="GET">
    <div class="devsite-search-container">
      <div class="devsite-searchbox">
        <input aria-activedescendant="" aria-autocomplete="list" aria-label="Search" aria-haspopup="false" aria-multiline="false" autocomplete="off" class="devsite-search-field devsite-search-query" name="q" placeholder="Search" role="searchbox" type="text" value="" aria-controls="devsite-search-popout-container-id-1">
        <div class="devsite-search-image material-icons" aria-hidden="true"></div>
      </div>
      <button type="button" search-open="" class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Open search"></button>
    </div>
  <div class="devsite-popout" id="devsite-search-popout-container-id-1"><div class="devsite-popout-result devsite-suggest-results-container" devsite-hide=""></div></div></form>
  <button type="button" search-close="" class="devsite-search-button devsite-header-icon-button button-flat material-icons" aria-label="Close search"></button>
</devsite-search>

        <div class="devsite-search-background" style="opacity: 1;"></div></div>

        

        

        
<devsite-language-selector>
  <devsite-select class="devsite-language-selector-menu">
    
    <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector">
    
    
      <option value="en" lang="en" selected="selected">
        English
      </option>
    
      <option value="id" lang="id">
        Bahasa Indonesia
      </option>
    
      <option value="es_419" lang="es_419">
        Español – América Latina
      </option>
    
      <option value="pt_br" lang="pt_br">
        Português – Brasil
      </option>
    
      <option value="zh_cn" lang="zh_cn">
        中文 – 简体
      </option>
    
      <option value="ja" lang="ja">
        日本語
      </option>
    
      <option value="ko" lang="ko">
        한국어
      </option>
    
    </select>
  <div class="devsite-select"><label id="devsite-select-108434245053083678-label" style="display:none;" aria-label="Select your language preference.">Select an option</label><button type="button" class="devsite-select-toggle" id="devsite-select-108434245053083678-button" aria-haspopup="true" aria-labelledby="devsite-select-108434245053083678-label devsite-select-108434245053083678-button" aria-controls="devsite-select-108434245053083678-popup"><span class="devsite-select-toggle-label">English</span><span class="devsite-icon devsite-icon-arrow-drop-down devsite-select-toggle-icon" aria-hidden="true"></span></button><ul class="devsite-select-list" id="devsite-select-108434245053083678-popup" tabindex="-1" role="listbox" scrollbars="" aria-labelledby="devsite-select-108434245053083678-button"><li role="option" lang="en" value="en" id="devsite-select-108434245053083678-0" class="devsite-select-item" data-index="0" data-selected="" aria-selected="true" aria-label="English, selected">English</li><li role="option" lang="id" value="id" id="devsite-select-108434245053083678-1" class="devsite-select-item" data-index="1" aria-selected="false" aria-label="Bahasa Indonesia">Bahasa Indonesia</li><li role="option" lang="es_419" value="es_419" id="devsite-select-108434245053083678-2" class="devsite-select-item" data-index="2" aria-selected="false" aria-label="Español – América Latina">Español – América Latina</li><li role="option" lang="pt_br" value="pt_br" id="devsite-select-108434245053083678-3" class="devsite-select-item" data-index="3" aria-selected="false" aria-label="Português – Brasil">Português – Brasil</li><li role="option" lang="zh_cn" value="zh_cn" id="devsite-select-108434245053083678-4" class="devsite-select-item" data-index="4" aria-selected="false" aria-label="中文 – 简体">中文 – 简体</li><li role="option" lang="ja" value="ja" id="devsite-select-108434245053083678-5" class="devsite-select-item" data-index="5" aria-selected="false" aria-label="日本語">日本語</li><li role="option" lang="ko" value="ko" id="devsite-select-108434245053083678-6" class="devsite-select-item" data-index="6" aria-selected="false" aria-label="한국어">한국어</li></ul></div></devsite-select>
</devsite-language-selector>


        

        
          
          
          <devsite-user signed-in="" enable-profiles="" id="devsite-user" sign-in-url="https://developer.android.com/_d/signin?continue=https%3A%2F%2Fdeveloper.android.com%2Ftraining%2Fwearables%2Fget-started%2Fcreating&amp;prompt=select_account" sign-out-url="https://developer.android.com/_d/signout?continue=https%3A%2F%2Fdeveloper.android.com%2Ftraining%2Fwearables%2Fget-started%2Fcreating" url="https://developer.android.com/_d/signin?continue=https%3A%2F%2Fdeveloper.android.com%2Ftraining%2Fwearables%2Fget-started%2Fcreating&amp;prompt=select_account" class="not-eligible"><div class="ogb-wrapper ogb-si"><div class="devsite-user-dialog-signin">
  
  <a href="https://developer.android.com/training/wearables/get-started/creating#" class="devsite-user-dialog-toggle" role="button" aria-label="Open account dialog">
  
    <img class="devsite-user-dialog-photo-thumbnail" src="./Create and run a wearable app  _  Android Developers_files/unnamed.png" srcset="https://lh3.googleusercontent.com/a/AATXAJxjWqw9rTu0DKWaK8RW0cm-b2PJ6fWuu8I6tdtW=s96-c 1x, https://lh3.googleusercontent.com/a/AATXAJxjWqw9rTu0DKWaK8RW0cm-b2PJ6fWuu8I6tdtW=s96-c 2x" loading="lazy" alt="杨家琪">
  
  </a>
</div>

<div class="devsite-user-dialog" role="dialog" aria-modal="true" aria-label="Account Information" aria-hidden="true">
  

  <div class="devsite-user-dialog-user">
    <div class="devsite-user-dialog-photo">
    
      <img class="devsite-user-dialog-photo-portrait" src="./Create and run a wearable app  _  Android Developers_files/unnamed.png" srcset="https://lh3.googleusercontent.com/a/AATXAJxjWqw9rTu0DKWaK8RW0cm-b2PJ6fWuu8I6tdtW=s96-c 1x, https://lh3.googleusercontent.com/a/AATXAJxjWqw9rTu0DKWaK8RW0cm-b2PJ6fWuu8I6tdtW=s96-c 2x" loading="lazy" alt="杨家琪">
    
    </div>

    <div class="devsite-user-dialog-details">
    
      <div class="devsite-user-dialog-name">杨家琪</div>
    
      <div class="devsite-user-dialog-email">yangjiaqi2415@gmail.com</div>
    </div>

    <a class="devsite-user-manage" href="https://myaccount.google.com/?utm_source=OGB&amp;amp;utm_medium=act" target="_blank">
      
      Manage your Google Account
    </a>
  </div>

  <div class="devsite-user-dialog-buttons">
    <a class="devsite-user-signin" href="https://developer.android.com/_d/signin?continue=https%3A%2F%2Fdeveloper.android.com%2Ftraining%2Fwearables%2Fget-started%2Fcreating&amp;prompt=select_account" target="_top">
      <svg class="devsite-switch-account-icon" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="#5f6368">
        <path d="M17 18c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm3.86-2c0 .17-.01.33-.03.49l1.07.82c.1.08.13.21.06.32l-1.03 1.73c-.06.11-.2.16-.32.11l-1.28-.5c-.26.19-.55.36-.87.49l-.19 1.33c0 .12-.11.21-.24.21h-2.06c-.13 0-.23-.09-.26-.21l-.19-1.33c-.31-.12-.6-.29-.87-.49l-1.28.5c-.12.04-.25 0-.32-.11l-1.03-1.73a.26.26 0 0 1 .06-.32l1.09-.82a2.7 2.7 0 0 1 .01-.98l-1.09-.83a.235.235 0 0 1-.06-.32l1.03-1.73c.06-.11.2-.16.32-.11l1.28.5c.26-.19.55-.36.87-.49l.19-1.33c.02-.12.12-.21.25-.21h2.06c.13 0 .24.09.26.21l.19 1.33c.32.12.6.29.87.49l1.28-.5c.12-.04.25 0 .32.11l1.03 1.73c.06.11.03.24-.06.32l-1.09.83c.01.16.03.32.03.49zM10 6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm1.02 7.05L10 15c-2.7 0-5.8 1.29-6 2.01V18h6l1.05 2H2v-3c0-2.66 5.33-4 8-4 .31 0 .65.02 1.02.05zM10 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4z"></path>
      </svg>
      
      Switch account
    </a>

    <a class="devsite-user-signout" href="https://developer.android.com/_d/signout?continue=https%3A%2F%2Fdeveloper.android.com%2Ftraining%2Fwearables%2Fget-started%2Fcreating" target="_top">
      
      Sign out
    </a>
  </div>

  <div class="devsite-user-dialog-footer">
    <div class="devsite-user-dialog-footer-link">
      <a href="https://myaccount.google.com/privacypolicy" target="_blank">
        
        Privacy Policy
      </a>
    </div>

    <div class="devsite-user-dialog-footer-link">
      <a href="https://myaccount.google.com/termsofservice" target="_blank">
        
        Terms of Service
      </a>
    </div>
  </div>
</div></div></devsite-user>
           
        
      </div>
    </div>
  </div>



  <div class="devsite-collapsible-section
    " style="transform: translate3d(0px, -108px, 0px);">
    <div class="devsite-header-background">
      
        
          <div class="devsite-product-id-row">
            <div class="devsite-product-description-row">
              
                
                  
                  
                  <ul class="devsite-breadcrumb-list">
  
  <li class="devsite-breadcrumb-item
             ">
    
    
    
      
  <a href="https://developer.android.com/docs" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Lower Header" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="" one-link-mark="yes">
    
        Documentation
      
  </a>
  
    
  </li>
  
</ul>
                
              
              
            </div>
            
          </div>
          
        
      
      
        <div class="devsite-doc-set-nav-row">
          
          
            
            
  <devsite-tabs class="lower-tabs" connected="">

    

  <nav class="devsite-tabs-wrapper" aria-label="Lower tabs">
      
        
          <tab>
            <a href="https://developer.android.com/docs" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/docs" track-metadata-position="nav - overview" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" one-link-mark="yes">
  Overview
</a>

          </tab>
        
      
        
          <tab active="">
            <a href="https://developer.android.com/guide" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/guide" track-metadata-position="nav - guides" track-metadata-module="primary nav" aria-label="Guides, selected" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" one-link-mark="yes">
  Guides
</a>

          </tab>
        
      
        
          <tab>
            <a href="https://developer.android.com/reference" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/reference" track-metadata-position="nav - reference" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" one-link-mark="yes">
  Reference
</a>

          </tab>
        
      
        
          <tab>
            <a href="https://developer.android.com/samples" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/samples" track-metadata-position="nav - samples" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" one-link-mark="yes">
  Samples
</a>

          </tab>
        
      
        
          <tab>
            <a href="https://developer.android.com/design" class="gc-analytics-event " track-type="nav" track-metadata-eventdetail="https://developer.android.com/design" track-metadata-position="nav - design &amp; quality" track-metadata-module="primary nav" data-category="Site-Wide Custom Events" data-label="Tab: Design &amp; Quality" track-name="design &amp; quality" one-link-mark="yes">
  Design &amp; Quality
</a>

          </tab>
        
      
    <tab overflow-tab="" hidden=""><a href="https://developer.android.com/training/wearables/get-started/creating#" class="devsite-icon devsite-icon-arrow-drop-down">More</a><div class="devsite-tabs-overflow-menu" scrollbars="" hidden=""></div></tab></nav></devsite-tabs>

          
          
        </div>
      
    </div>
  </div>

</div>



  

  
</devsite-header>
      <div class="devsite-book-nav-bg" fixed=""></div><devsite-book-nav scrollbars="" fixed="" style="top: 157px; max-height: 870px; --devsite-js-book-nav-y-offset:-108px;" user-scrolled="">
        
          





















<div class="devsite-book-nav-filter
            ">
  <input type="text" placeholder="Filter" aria-label="Type to filter" role="searchbox">
  
  <span class="filter-clear-button hidden" data-title="Clear filter" aria-label="Clear filter" role="button" tabindex="0"></span>
</div>

<nav class="devsite-book-nav devsite-nav nocontent" aria-label="Side menu">
  <div class="devsite-mobile-header">
    <button type="button" id="devsite-close-nav" class="devsite-header-icon-button button-flat material-icons gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Close navigation" aria-label="Close navigation">
    </button>
    <div class="devsite-product-name-wrapper">

  <a href="https://developer.android.com/" class="devsite-site-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Site logo" track-type="globalNav" track-name="androidDevelopers" track-metadata-position="nav" track-metadata-eventdetail="nav" one-link-mark="yes">

  
    <img src="./Create and run a wearable app  _  Android Developers_files/lockup.svg" class="devsite-site-logo" alt="Android Developers">
  

</a>


  
      <span class="devsite-product-name">
        
        
        <ul class="devsite-breadcrumb-list">
  
  <li class="devsite-breadcrumb-item
             ">
    
    
    
      
      
    
  </li>
  
</ul>
      </span>
    

</div>
  </div>

  <div class="devsite-book-nav-wrapper">
    <div class="devsite-mobile-nav-top">
      
        <ul class="devsite-nav-list">
          
            <li class="devsite-nav-item">
              
  
  <a href="https://developer.android.com/about" class="devsite-nav-title gc-analytics-event
              
              " data-category="Site-Wide Custom Events" data-label="Tab: Platform" track-name="platform" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Platform
   </span>
    
  
  </a>
  

  
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="https://developer.android.com/studio" class="devsite-nav-title gc-analytics-event
              
              " data-category="Site-Wide Custom Events" data-label="Tab: Android Studio" track-name="android studio" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Android Studio
   </span>
    
  
  </a>
  

  
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="https://developer.android.com/distribute" class="devsite-nav-title gc-analytics-event
              
              " data-category="Site-Wide Custom Events" data-label="Tab: Google Play" track-name="google play" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Google Play
   </span>
    
  
  </a>
  

  
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="https://developer.android.com/jetpack" class="devsite-nav-title gc-analytics-event
              
              " data-category="Site-Wide Custom Events" data-label="Tab: Jetpack" track-name="jetpack" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Jetpack
   </span>
    
  
  </a>
  

  
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="https://developer.android.com/kotlin" class="devsite-nav-title gc-analytics-event
              
              " data-category="Site-Wide Custom Events" data-label="Tab: Kotlin" track-name="kotlin" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Kotlin
   </span>
    
  
  </a>
  

  
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="https://developer.android.com/docs" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Tab: Docs" track-name="docs" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Docs
   </span>
    
  
  </a>
  

  
              
                <ul class="devsite-nav-responsive-tabs">
                  
                    
                    
                    
                    <li class="devsite-nav-item">
                      
  
  <a href="https://developer.android.com/docs" class="devsite-nav-title gc-analytics-event
              
              " data-category="Site-Wide Custom Events" data-label="Tab: Overview" track-name="overview" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Overview
   </span>
    
  
  </a>
  

  
                    </li>
                  
                    
                    
                    
                    <li class="devsite-nav-item">
                      
  
  <a href="https://developer.android.com/guide" class="devsite-nav-title gc-analytics-event devsite-nav-has-children" data-category="Site-Wide Custom Events" data-label="Tab: Guides" track-name="guides" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="" menu="_book">
      Guides
   </span>
    
    <span class="devsite-nav-icon material-icons" data-icon="forward" menu="_book">
    </span>
    
  
  </a>
  

  
                    </li>
                  
                    
                    
                    
                    <li class="devsite-nav-item">
                      
  
  <a href="https://developer.android.com/reference" class="devsite-nav-title gc-analytics-event
              devsite-nav-has-children
              " data-category="Site-Wide Custom Events" data-label="Tab: Reference" track-name="reference" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Reference
   </span>
    
    <span class="devsite-nav-icon material-icons" data-icon="forward">
    </span>
    
  
  </a>
  

  
                    </li>
                  
                    
                    
                    
                    <li class="devsite-nav-item">
                      
  
  <a href="https://developer.android.com/samples" class="devsite-nav-title gc-analytics-event
              
              " data-category="Site-Wide Custom Events" data-label="Tab: Samples" track-name="samples" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Samples
   </span>
    
  
  </a>
  

  
                    </li>
                  
                    
                    
                    
                    <li class="devsite-nav-item">
                      
  
  <a href="https://developer.android.com/design" class="devsite-nav-title gc-analytics-event
              devsite-nav-has-children
              " data-category="Site-Wide Custom Events" data-label="Tab: Design &amp; Quality" track-name="design &amp; quality" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Design &amp; Quality
   </span>
    
    <span class="devsite-nav-icon material-icons" data-icon="forward">
    </span>
    
  
  </a>
  

  
                    </li>
                  
                </ul>
              
            </li>
          
            <li class="devsite-nav-item">
              
  
  <a href="https://developer.android.com/games" class="devsite-nav-title gc-analytics-event
              
              " data-category="Site-Wide Custom Events" data-label="Tab: Games" track-name="games" track-type="globalNav" track-metadata-eventdetail="globalMenu" track-metadata-position="nav" one-link-mark="yes">
  
    <span class="devsite-nav-text" tooltip="">
      Games
   </span>
    
  
  </a>
  

  
              
            </li>
          
          
          
        </ul>
      
    </div>
    
      <div class="devsite-mobile-nav-bottom" role="navigation">
        
          
          <ul class="devsite-nav-list" menu="_book">
            <li class="devsite-nav-item
           devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path">
        <span class="devsite-nav-text" tooltip="">App Basics</span>
      </div></li>

  <li class="devsite-nav-item"><a href="https://developer.android.com/guide" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Introduction</span></a></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build your first app</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/firstapp" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/firstapp/creating-project" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create an Android project</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/firstapp/running-app" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Run your app</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/firstapp/building-ui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build a simple user interface</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/firstapp/starting-activity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Start another activity</span></a></li></ul></div></li>

  <li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/fundamentals" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App fundamentals</span></a></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App resources</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/providing-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/runtime-changes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handle configuration changes</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Localization</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/localization" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Localize your app</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/pseudolocales" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test your app with pseudolocales</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/internationalization" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Unicode and internationalization support</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/multilingual-support" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Language and locale resolution</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/complex-xml-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Complex XML resources</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Resource types</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/available-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/animation-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Animation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/color-list-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Color state list</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/drawable-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Drawable</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/layout-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Layout</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/menu-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Menu</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/string-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">String</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/style-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Style</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/font-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Font</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/resources/more-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">More types</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App manifest file</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/manifest-intro" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/action-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;action&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/activity-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;activity&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/activity-alias-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;activity-alias&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/application-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;application&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/category-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;category&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/compatible-screens-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;compatible-screens&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/data-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;data&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/grant-uri-permission-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;grant-uri-permission&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/instrumentation-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;instrumentation&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/intent-filter-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;intent-filter&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/manifest-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;manifest&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/meta-data-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;meta-data&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/path-permission-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;path-permission&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/permission-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;permission&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/permission-group-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;permission-group&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/permission-tree-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;permission-tree&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/profileable-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;profileable&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/provider-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;provider&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/queries-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;queries&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/receiver-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;receiver&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/service-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;service&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/supports-gl-texture-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;supports-gl-texture&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/supports-screens-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;supports-screens&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/uses-configuration-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;uses-configuration&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/uses-feature-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;uses-feature&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/uses-library-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;uses-library&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/uses-native-library-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;uses-native-library&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/uses-permission-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;uses-permission&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/uses-permission-sdk-23-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;uses-permission-sdk-23&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/manifest/uses-sdk-element" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;uses-sdk&gt;</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path">
        <span class="devsite-nav-text" tooltip="">Devices</span>
      </div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Device compatibility</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/practices/compatibility" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/practices/screens_support" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Screen compatibility overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/multiscreen/screendensities" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support different pixel densities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/practices/screens-distribution" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Declare restricted screen support</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Multiple APK support</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/publishing/multiple-apks" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/multiple-apks/api" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create multiple APKs for different API levels</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/multiple-apks/screensize" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create multiple APKs for different screen sizes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/multiple-apks/texture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create multiple APKs for different GL textures</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/multiple-apks/multiple" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create multiple APKs with several dimensions</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/supporting-devices/languages" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support different languages and cultures</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/supporting-devices/platforms" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support different platform versions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/filters" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Filters on Google Play</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Tablets, large screens, and foldables</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/get-started-with-large-screens" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Get started with large screens</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/media-projection-large-screens" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media projection on large screens</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/enhanced-letterboxing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Enhanced letterboxing</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build responsive UIs</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/support-different-screen-sizes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support different screen sizes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/navigation-for-responsive-uis" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Navigation for responsive UIs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/migrate-to-responsive-layouts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate your UI to responsive layouts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/activity-embedding" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Activity embedding</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/multi-window-support" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Multi-window support</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/input-compatibility-large-screens" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Input compatibility on large screens</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build for foldables</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/learn-about-foldables" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Learn about foldables</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/make-apps-fold-aware" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Make your app fold aware</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/large-screens/test-apps-on-foldables" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test your app on foldables</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav expanded">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Wear</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Get started</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/principles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Principles of Wear OS development</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/upgrade" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Upgrade to the latest version of Wear OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wear-v-mobile" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wear OS versus mobile development</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/compose-setup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Set up Jetpack Compose on Wear OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/compose" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use Jetpack Compose on Wear OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/courses/pathways/wear" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wear OS developer pathway</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/ongoing-activity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Ongoing Activities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/user-interfaces" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wear OS user interface</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/exposing-data-complications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Expose data to complications</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav expanded">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Getting started</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating" class="devsite-nav-title devsite-nav-active" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create and run a wearable app</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/debugging" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Debug a Wear OS app</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/screenshots" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Capture Wear UI screenshots</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/launcher" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Appear in Recents and App Resume</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Overlays</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/wear-ui-library" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use the Wear UI library</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/layouts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handle different watch shapes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/screens" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Screen options</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/lists" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create lists</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/navigation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Navigation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/exit" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Exit full screen activities on Wear</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/confirm" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Show confirmations</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/audio" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Playing audio on wearables</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/always-on" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Keep your app visible on Wear</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/auth-wear" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Authentication</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/overlays/independent-vs-dependent" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Standalone app</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Tiles</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/tiles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/tiles/design-guidelines" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Design guidelines</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/tiles/design-system" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Design system</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Notifications</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/notifications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Notifications on Wear OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/notifications/bridger" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Bridging options for notifications</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Handling data</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/data-layer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Send and sync data on Wear OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/network-access" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Network access and sync on Wear OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/accessing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Access the Wearable Data Layer</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/assets" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Transfer assets</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/messages" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Send and receive messages</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/events" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handle data layer events</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/data-items" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sync data items with the Data Layer API</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/wear-permissions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Request permissions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/data/wear-location-detection" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Detect location</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">User input</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/user-input/physical-buttons" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Physical buttons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/user-input/rotary-input" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Rotary input</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/user-input/wear-ime" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create input method editors in Wear</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/user-input/voice" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Voice</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Watch Face Studio</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Watch Face Studio</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/shortcuts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Keyboard shortcuts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/project" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage a Watch Face Studio project</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/create" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a watch face with Watch Face Studio</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/complications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build complications in Watch Face Studio</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/tag-expression" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Tag expressions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/language-settings" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Language settings</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/always-on" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Always-on in Watch Face Studio</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/gyro" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Gyro effects</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/build" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build and upload from Watch Face Studio</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test your watch face</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/wfs/FAQ" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">FAQ</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Health services</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/health-services" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/health-services/active" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Active data and exercise</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/health-services/passive" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Passive data updates</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/health-services/synthetic-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use synthetic data providers</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/health-services/health-platform" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Health Platform API</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Design</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Introduction</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/design-principles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Design principles</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/getting-started" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Getting started</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/interaction-types" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Interaction types</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/screen-shapes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Screen shapes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/notifications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Notifications</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/complications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Complications</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/overlays" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overlays</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/ongoing-activities" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Ongoing activities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/confirmation-overlay" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Confirmation overlay</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/disconnect" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Disconnection indicators</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/permission-message" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Permission messages</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/selection-controls" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Selection controls</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/launch" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Launch and latency</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/navigation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Navigation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/permission" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Permissions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/sign-in" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sign in</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/buttons" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Hardware buttons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/color" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Color</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/typography" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Typography</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/icons" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Icons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/design/download" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Downloads</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Components</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/theme" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wear Material Theming</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/buttons" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Buttons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/chips" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Chips</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/toggle-chips" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Toggle chips</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/cards" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Cards</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/lists" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Lists</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/curved-text" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Curved texts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/swipe-to-dismiss" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Swipe to dismiss</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/scroll" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Scroll indicators</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/pickers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Pickers</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/pagination" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Page viewers</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/sliders" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sliders</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/components/progress-indicator" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Progress indicator</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Creating watch faces</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/designing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Design watch faces</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/service" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build a watch face service</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/drawing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Draw watch faces</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/complications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Watch face complications</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/adding-complications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adding complications to a watch face</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/interacting" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Creating interactive watch faces</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/configuration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Provide configuration activities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/issues" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Address common issues</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/hardware-acceleration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Improve performace with hardware acceleration</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/watch-faces/performance" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize performance and battery life</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/docs/quality-guidelines/wear-app-quality" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wear app quality</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/packaging" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Package Wear OS apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/distribute/best-practices/launch/distribute-wear" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Distribute to Wear OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/creating-app-china" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create Wear OS apps for China</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/wear/releases" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wear OS release notes</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Android TV</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build TV Apps</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start/start" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Get started with TV apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start/libraries" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">AndroidX TV libraries</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start/hardware" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handle TV hardware</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start/controllers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage TV controllers</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start/layouts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build TV layouts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start/onscreen-keyboard" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">On-screen keyboard</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start/navigation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create TV navigation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/start/google-tv" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Best practices for driving engagement on Google TV</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build TV playback apps</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">UI guidance &amp; Leanback API</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/browse" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a catalog browser</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/card" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Provide a card view</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/details" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build a details view</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/transport-controls" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use transport controls</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/controls" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Playback controls on TV</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/guided-step" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add a guided step</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/onboarding" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Introduce first-time users to your app</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/media-session" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Implement a media session</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/now-playing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Background playback in a Now Playing card</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/audio-capabilities" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Audio capabilities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/playback/framerate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Match content frame rate</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Help users find content on TV</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Recommend TV content</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/recommendations" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/recommendations-channel" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Channels on the home screen</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/video-programs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Video program attributes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/audio-programs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Audio program attributes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/game-programs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Game program attributes</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Watch Next</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/watch-next-add-programs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add programs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/watch-next-programs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Attributes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/guidelines-app-developers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Guidelines for app developers</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/guidelines-tv-providers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Guidelines for TV providers</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/preview-videos" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Preview videos</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/recommendations-row" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Recommendations in Android N and earlier</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/searchable" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Make TV apps searchable</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/discovery/in-app-search" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Search within TV Apps</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build TV games</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/games" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/games/streamprotect/streamprotect" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use Stream Protect for latency-sensitive streaming apps</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build TV input services</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/tif" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/tif/tvinput" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Develop a TV input service</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/tif/channel" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Work with channel data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/tif/ui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage TV user interaction</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/tif/time-shifting" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support time-shifting</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/tif/content-recording" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support content recording</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/publishing/checklist" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">TV Apps checklist</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">TV Accessibility</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/accessibility" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Accessibility best practices</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/accessibility/talkback" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">TalkBack evaluation examples</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/accessibility/system-caption-settings" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adopt system caption settings</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/accessibility/custom-views" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Custom view accessibility support</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/tv/accessibility/custom-views-sample" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Custom view accessibility sample</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Releases</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/tv/release/12" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android 12 for TV</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Android for Cars</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build media apps for cars</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/media" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build media apps for cars</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/media/auto" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add support for Android Auto</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/media/automotive-os" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add support for Android Automotive OS</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/messaging" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build messaging apps for Android Auto</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build navigation, parking, and charging apps for cars</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/apps" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Using the Android for Cars App Library</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/apps/poi" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build parking and charging apps for cars</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/apps/navigation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build navigation apps for cars</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/apps/auto" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add support for Android Auto</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/apps/automotive-os" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add support for Android Automotive OS</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/video" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build video apps for Android Automotive OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test Android apps for cars</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/distribute" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Distribute Android apps for cars</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/google-services" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Google Play services for cars</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/cars/notifications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Notifications on Android Automotive OS</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Chrome OS devices</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/chrome-os/intro" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Building apps for Chrome OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/optimizing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimizing Apps for Chrome OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/development-environment" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Preparing your development environment</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/manifest" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App Manifest Compatibility for Chromebooks</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/device-support" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Chrome OS Device Support for Apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/differences" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App Rendering Differences on Chromebooks</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/window-management" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Window management</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/adapting-games" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adapting Games on Chrome OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/animation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Smooth animation on Chrome OS</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/arc/tests" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test Cases for Android Apps on Chrome OS</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path">
        <span class="devsite-nav-text" tooltip="">App architecture</span>
      </div></li>

  <li class="devsite-nav-item"><a href="https://developer.android.com/topic/architecture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Introduction</span></a></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Guide to app architecture</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/jetpack/guide" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">UI layer</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/jetpack/guide/ui-layer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/jetpack/guide/ui-layer/events" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">UI events</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/jetpack/guide/domain-layer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Domain layer</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/jetpack/guide/data-layer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Data layer</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/courses/pathways/android-architecture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Learning pathway</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Architecture Components</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">UI layer libraries</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">View binding</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/view-binding" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/view-binding/migration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate from Kotlin synthetics to view binding</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Data binding library</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/data-binding" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/data-binding/start" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Get started</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/data-binding/expressions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Layouts and binding expressions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/data-binding/observability" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Work with observable data objects</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/data-binding/generated-binding" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Generated binding classes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/data-binding/binding-adapters" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Binding adapters</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/data-binding/architecture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Bind layout views to Architecture Components</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/data-binding/two-way" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Two-way data binding</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Lifecycle-aware components</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/lifecycle" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handle lifecycles</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/viewmodel" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">ViewModel</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/livedata" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">LiveData</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/saving-states" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Save UI states</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/viewmodel-savedstate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Saved State module for ViewModel</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/coroutines" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use Kotlin coroutines with lifecycle-aware components</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Paging Library</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/v3-overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/v3-paged-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Load and display paged data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/v3-network-db" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Page from network and database</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/v3-transform" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Transform data streams</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/load-state" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage and present loading states</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test your Paging implementation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/v3-migration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate to Paging 3</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Paging 2</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/ui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Display paged lists</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/paging/data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Load paged data</span></a></li></ul></div></li></ul></div></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Data layer libraries</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/datastore" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">DataStore</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">WorkManager</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/basics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Getting Started</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">How-To Guides</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/how-to/define-work" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Defining your WorkRequests</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/how-to/states-and-observation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Work states</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/how-to/managing-work" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Managing work</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/how-to/intermediate-progress" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Observing intermediate Worker progress</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/how-to/chain-work" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Chaining work together</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/how-to/testing-worker-impl" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Testing Worker implementation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/how-to/integration-testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Integration tests with WorkManager</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/how-to/debugging" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Debugging WorkManager</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Advanced Concepts</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/advanced/custom-configuration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Configuration and Initialization</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Threading in WorkManager</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/advanced/threading" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/advanced/worker" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Threading in Worker</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/advanced/coroutineworker" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Threading in CoroutineWorker</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/advanced/rxworker" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Threading in RxWorker</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/advanced/listenableworker" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Threading in ListenableWorker</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/advanced/long-running" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support for long-running workers</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/migrating-fb" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrating from Firebase JobDispatcher</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/architecture/workmanager/migrating-gcm" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrating from GCMNetworkManager</span></a></li></ul></div></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App entry points</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Activities</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/intro-activities" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Introduction to activities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/activity-lifecycle" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">The activity lifecycle</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/state-changes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Activity state changes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test your activities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/tasks-and-back-stack" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Tasks and back stack</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/process-lifecycle" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Processes and app lifecycle</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/parcelables-and-bundles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Parcelables and bundles</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/loaders" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Loaders</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/recents" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Recents screen</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/activities/background-starts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Restrictions on starting activities from the background</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App shortcuts</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/shortcuts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/shortcuts/creating-shortcuts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create shortcuts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/shortcuts/adding-capabilities" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add capabilities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/shortcuts/managing-shortcuts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage shortcuts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/shortcuts/best-practices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Best practices for shortcuts</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App navigation</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-principles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Principles of navigation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-form-factors" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Design for different form factors</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-config-changes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handle configuration changes</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Navigation component</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-getting-started" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Getting started</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-create-destinations" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create destinations</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-design-graph" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Design navigation graphs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-nested-graphs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Nested graphs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-global-action" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Global actions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-navigate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Navigate to a destination</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-conditional" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Conditional navigation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-pass-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Pass data between destinations</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-deep-link" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a deep link for a destination</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-animate-transitions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Animate transitions between destinations</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-ui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Update UI components with NavigationUI</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-kotlin-dsl" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Kotlin DSL</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-programmatic" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Interact programmatically</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-dynamic" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Navigate with feature modules</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-multi-module" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Best practices for multi-module projects</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test navigation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-add-new" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add new destination types</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-migrate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate to the Navigation component</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Fragments</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/create" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a fragment</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/fragmentmanager" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Fragment manager</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/transactions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Fragment transactions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/animate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Animate transitions between fragments</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/lifecycle" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Fragment lifecycle</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/saving-state" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Saving state with fragments</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/communicate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Communicate with fragments</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/appbar" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Working with the app bar</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/dialogs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Displaying dialogs with DialogFragment</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/debugging" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Debug your fragments</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/fragments/test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test your fragments</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App links</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/app-links" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/app-links/deep-linking" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Enabling links to app content</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/app-links/verify-site-associations" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Verify app links</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/app-links/instant-app-links" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create app links for instant apps</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-swipe-view" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create swipe views with tabs using ViewPager</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-swipe-view-2" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create swipe views with tabs using ViewPager2</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/navigation/navigation-custom-back" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Provide custom back navigation</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Dependency injection</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/manual" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manual dependency injection</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/hilt-android" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Dependency injection with Hilt</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/hilt-multi-module" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Hilt in multi-module apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/hilt-jetpack" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Hilt and Jetpack integrations</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/hilt-testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Hilt testing guide</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/hilt-cheatsheet" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Hilt and Dagger annotations cheat sheet</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Dagger</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/dagger-basics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Dagger basics</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/dagger-android" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Using Dagger in Android apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/dependency-injection/dagger-multi-module" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Using Dagger in multi-module apps</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item"><a href="https://developer.android.com/topic/libraries/app-startup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App Startup</span></a></li>

  <li class="devsite-nav-item
           devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path">
        <span class="devsite-nav-text" tooltip="">Core topics</span>
      </div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App compatibility</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-compatibility" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-compatibility/test-debug" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Compatibility framework tools</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-compatibility/restrictions-non-sdk-interfaces" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Restrictions on non-SDK interfaces</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Interact with other apps</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/intents" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/intents/sending" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sending the user to another app</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/intents/result" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Getting a result from an activity</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/intents/filters" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Allowing other apps to start your activity</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Package visibility</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/package-visibility" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/package-visibility/automatic" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Know which packages are visible automatically</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/package-visibility/declaring" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Declare package visibility needs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/package-visibility/use-cases" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Fulfill common use cases</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/package-visibility/testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test package visibility</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Intents and intent filters</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/intents-filters" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/intents-common" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Common intents</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">User interface</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Layouts</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/declaring-layout" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build a responsive UI with ConstraintLayout</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Add motion to your layout with MotionLayout</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/carousel" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Carousel with MotionLayout</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/examples" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">MotionLayout examples</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">MotionLayout XML reference</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/motionscene" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;MotionScene&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/constraintset" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;ConstraintSet&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/constraint" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;Constraint&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/transition" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;Transition&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/onclick" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;onClick&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/onswipe" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;onSwipe&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/keyframeset" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;KeyFrameSet&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/keyposition" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;KeyPosition&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/motionlayout/ref/keyattribute" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">&lt;KeyAttribute&gt;</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/layout/recyclerview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a list with RecyclerView</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/layout/recyclerview-custom" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Advanced RecyclerView customization</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/layout/cardview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a card-based layout</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/layout/twopane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a two pane layout</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Improving layout performance</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/improving-layouts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/improving-layouts/optimizing-layout" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimizing layout hierarchies</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/improving-layouts/reusing-layouts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Re-using layouts with &lt;include/&gt;</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/improving-layouts/loading-ondemand" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Delayed loading of views</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/layout/linear" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Linear layout</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/binding" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adapter view</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/layout/relative" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Relative layout</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Custom view components</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/custom-components" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/custom-views/create-view" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Creating a custom view class</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/custom-views/custom-drawing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Implementing custom drawing</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/custom-views/making-interactive" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Making the view interactive</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/custom-views/optimizing-view" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimizing the view</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/constraint-layout/foldables" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Designing for foldables</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Look and feel</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Material design</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel/themes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Styles and themes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel/darktheme" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Dark theme</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel/rounded-corners" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Rounded corners</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/practices/ui_guidelines/icon_design_adaptive" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adaptive icons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/floating-action-button" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add a floating action button</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/material/shadows-clipping" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create shadows and clip views</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Text</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Autosizing TextViews</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Downloadable fonts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Fonts in XML</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Emoji</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel/emoji2" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support modern emoji</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/look-and-feel/emoji-compat" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Emoji compatibility</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/magnifier" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Magnifier widget</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/spans" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Spans</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/controls/button" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Buttons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/controls/checkbox" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Checkboxes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/controls/radiobutton" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Radio buttons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/controls/togglebutton" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Toggle buttons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/controls/spinner" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Spinners</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/controls/pickers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Pickers</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/tooltips" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Tooltips</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Notifications</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/notifiers/notifications" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/notify-user/build-notification" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a notification</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/notify-user/expanded" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create an expandable notification</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/notify-user/time-sensitive" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Display time-sensitive notifications</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/notify-user/navigation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Start an activity from a notification</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/notify-user/group" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a group of notifications</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/notify-user/channels" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create and manage notification channels</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/notify-user/badges" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Modify a notification Badge</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/notify-user/custom-notification" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a custom notification</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Splash screens</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/splash-screen" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/splash-screen/migrate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate your existing splash screen</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/conversations" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Conversations</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/bubbles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Bubbles</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Add the app bar</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/appbar" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/appbar/setting-up" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Set up the app bar</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/appbar/actions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add and handle actions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/appbar/up-action" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add an up action</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/appbar/action-views" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use action views and action providers</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Window insets</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/system-ui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures/edge-to-edge" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Display edge-to-edge</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/system-ui/immersive" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Immersive mode</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/display-cutout" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support display cutouts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/system-ui/sw-keyboard" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Control the software keyboard</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Supporting swipe-to-refresh</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/swipe" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/swipe/add-swipe-interface" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adding swipe-to-refresh to your app</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/swipe/respond-refresh-request" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Responding to a refresh gesture</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/notifiers/toasts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Toasts overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Pop-up messages overview</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/snackbar" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/snackbar/showing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build and display a pop-up message</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/snackbar/action" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add an action to a message</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/dialogs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Dialogs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/menus" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Menus</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Settings</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/settings" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/settings/organize-your-settings" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Organize your settings</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/settings/customize-your-settings" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Customize your settings</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/settings/use-saved-values" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use saved values</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/settings/programmatic-hierarchy" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build a hierarchy in code</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/settings/handle-other-form-factors" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handle other form factors</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/settings/components-and-attributes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Preference components and attributes</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Search</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/search" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/search/search-dialog" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Creating a search interface</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/search/adding-recent-query-suggestions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adding recent query suggestions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/search/adding-custom-suggestions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adding custom suggestions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/search/searchable-config" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Searchable configuration</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Adding search functionality</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/search" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/search/setup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Setting up the search interface</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/search/search" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Storing and searching for data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/search/backward-compat" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Remaining backward compatible</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/input/receive-rich-content" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Receive rich content</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/copy-paste" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Copy and paste</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/drag-drop" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Drag and drop</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/picture-in-picture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Picture-in-picture support</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Creating backward-compatible UIs</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/backward-compatible-ui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/backward-compatible-ui/abstracting" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Abstracting the new APIs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/backward-compatible-ui/new-implementation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Proxying to the new APIs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/backward-compatible-ui/older-implementation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Creating an implementation with older APIs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/backward-compatible-ui/using-component" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Using the version-aware component</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/device-control" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Device control</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Home channels for mobile apps</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/home-channels" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/home-channels/read" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media Home Books</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/home-channels/video" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media Home Video</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/home-channels/audio" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media Home Audio</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App widgets</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/appwidgets/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/appwidgets" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a simple widget</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/appwidgets/enhance" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Enhance your widget</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/appwidgets/advanced" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create an advanced widget</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/appwidgets/collections" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use widget collections</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/appwidgets/layouts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Provide flexible widget layouts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/appwidgets/configuration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Enable widget configuration</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/appwidgets/host" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build an app widget host</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Animations &amp; transitions</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Introduction to animations</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics/prop-animation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Property animation overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics/drawable-animation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Animate drawable graphics</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/reveal-or-hide-view" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reveal or hide a view using animation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/reposition-view" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Move a view using animation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics/fling-animation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Move a view using a fling animation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/zoom" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Enlarge a view using a zoom animation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics/spring-animation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Animate movement using spring physics</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/layout" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Auto animate layout updates</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/transitions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Animate layout changes using a transition</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/transitions/custom-transitions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a custom transition animation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/transitions/start-activity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Start an activity using an animation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/screen-slide" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Slide between fragments using ViewPager</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/screen-slide-2" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Slide between fragments using ViewPager2</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/vp2-migration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate from ViewPager to ViewPager2</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/animation/additional-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Additional resources</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Images &amp; graphics</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics/drawables" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Drawables overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics/vector-drawable-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Vector drawables overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/graphics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handling bitmaps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/material/palette-colors" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Selecting colors with the palette API</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/network-xfer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reducing image download sizes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics/hardware-accel" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Hardware acceleration</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/graphics/opengl" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">OpenGL ES</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Displaying graphics with OpenGL ES</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/graphics/opengl" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/graphics/opengl/environment" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Building an OpenGL ES environment</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/graphics/opengl/shapes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Defining shapes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/graphics/opengl/draw" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Drawing shapes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/graphics/opengl/projection" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Applying projection and camera views</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/graphics/opengl/motion" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adding motion</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/graphics/opengl/touch" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Responding to touch events</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Rendering</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/rendering" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/rendering/overdraw" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reducing overdraw</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/rendering/optimizing-view-hierarchies" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Performance and view hierarchies</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/rendering/profile-gpu" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Analyzing with profile GPU rendering</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wide-color-gamut" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Enhancing graphics with wide color content</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Audio &amp; video</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Audio &amp; video overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/media-controls" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media controls</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/media-formats" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Supported media formats</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/media-codecs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media codecs</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Media app architecture</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/media-apps-overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media app architecture overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/working-with-a-media-session" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Using a media session</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Building an audio app</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/audio-app/building-an-audio-app" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Audio app overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/audio-app/building-a-mediabrowserservice" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Building a media browser service</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/audio-app/building-a-mediabrowser-client" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Building a media browser client</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/audio-app/mediasession-callbacks" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media session callbacks</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/audio-app/media-controller-test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Using the media controller test app</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Building a video app</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/video-app/building-a-video-app" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Video app overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/video-app/building-a-video-player-activity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Building a video player activity</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/video-app/mediasession-callbacks" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media session callbacks</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/video-app/compatible-media-transcoding" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Compatible media transcoding</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/mediabuttons" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Responding to media buttons</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/volume-and-earphones" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handling changes in audio output</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/audio-focus" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage audio focus</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">The Google Assistant</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/interacting-with-assistant" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">The Google Assistant and media apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media-apps/assistant-driving-mode" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media apps on Google Assistant driving mode</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Routing between devices</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/media-routing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Routing overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/mediarouter" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">MediaRouter overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/mediarouteprovider" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">MediaRouteProvider overview</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/volumeshaper" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Control amplitude with VolumeShaper</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/mediaplayer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">MediaPlayer overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/mediarecorder" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">MediaRecorder overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/exoplayer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">ExoPlayer</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/sharing-audio-input" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sharing audio input</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/av-capture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Capture video and audio playback</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/frame-rate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Frame rate</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/sharing-video" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Best practices for sharing video</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/additional-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Additional Resources for Media</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Services</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/services" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/foreground-services" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Foreground services</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/bound-services" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Bound services</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/aidl" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">AIDL overview</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Background tasks</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/background" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/background/threading" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Background threads</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/background-optimization" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Background optimizations</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Broadcasts</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/broadcasts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/broadcast-exceptions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Implicit Broadcast Exceptions</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Manage device awake state</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/scheduling" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/scheduling/wakelock" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Keep the device awake</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/scheduling/alarms" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Schedule alarms</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/background/listenablefuture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Using a ListenableFuture</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Permissions</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/permissions/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/permissions/evaluating" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Evaluate whether your app needs permissions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/permissions/declaring" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Declare app permissions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/permissions/requesting" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Request app permissions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/permissions/explaining-access" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Explain access to more sensitive information</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/permissions/usage-notes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App permissions best practices</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/permissions/default-handlers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Permissions used only in default handlers</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/permissions/restrict-interactions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Restrict interactions with other apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/permissions/defining" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Define custom permissions</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App data &amp; files</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Storage overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/app-specific" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Save to app-specific storage</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Save to shared storage</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/shared" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/shared/media" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Media</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/shared/documents-files" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Documents and other files</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/shared/datasets" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Datasets</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/manage-all-files" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage all files on a storage device</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/shared-preferences" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Save key-value data</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Save data in a local database</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/defining-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Define data using entities</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/accessing-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Access data using DAOs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/relationships" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Define relationships between objects</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/async-queries" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Write asynchronous DAO queries</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/creating-views" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create views into a database</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/prepopulate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Prepopulate your database</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/migrating-db-versions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate your database</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/testing-db" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test and debug your database</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/referencing-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reference complex data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/room/sqlite-room-migration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate from SQLite to Room</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/sqlite" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Save data using SQLite</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/data-storage/use-cases" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Storage use cases and best practices</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Sharing simple data</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/sharing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/sharing/send" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sending simple data to other apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/sharing/receive" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Receiving simple data from other apps</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Sharing files</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/secure-file-sharing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/secure-file-sharing/setup-sharing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Setting up file sharing</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/secure-file-sharing/share-file" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sharing a file</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/secure-file-sharing/request-file" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Requesting a shared file</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/secure-file-sharing/retrieve-info" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Retrieving file information</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Sharing files with NFC</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/beam-files" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/beam-files/send-files" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sending files to another device</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/beam-files/receive-files" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Receiving files from another device</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Printing files</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/printing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/printing/photos" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Printing photos</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/printing/html-docs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Printing HTML documents</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/printing/custom-docs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Printing custom documents</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Content providers</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/providers/content-providers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/providers/content-provider-basics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Content provider basics</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/providers/content-provider-creating" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Creating a content provider</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/providers/document-provider" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Open files using storage access framework</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/providers/create-document-provider" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a custom document provider</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data/install-location" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App install location</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">User data &amp; identity</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/user-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/sign-in" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add sign-in workflow</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/sign-in/biometric-auth" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Show a biometric authentication dialog</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Autofill framework</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/autofill" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/autofill-optimize" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize your app for autofill</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/autofill-services" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build autofill services</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/ime-autofill" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Integrate autofill with keyboards</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/app-set-id" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Identify developer-owned apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data/collect-share" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Review how your app collects and shares user data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data/audit-access" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Audit data access</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/ad-id" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Get a user-resettable advertising ID</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/providers/calendar-provider" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Calendar provider overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Contacts provider</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/providers/contacts-provider" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/contacts-provider/retrieve-names" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Retrieving a list of contacts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/contacts-provider/retrieve-details" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Retrieving details for a contact</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/contacts-provider/modify-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Modifying contacts using intents</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/contacts-provider/display-contact-badge" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Displaying the quick contact badge</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data/account-transfer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Account transfer</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Data backup</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data/backup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data/autobackup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Back up user data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data/keyvaluebackup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Back up key-value pairs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/data/testingbackup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test backup and restore</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/user-data-ids" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Best practices for unique identifiers</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Remember and authenticate users</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/id-auth" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/id-auth/identify" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Remember your user</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/id-auth/authenticate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Authenticate to OAuth2 services</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/id-auth/custom_auth" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a custom account type</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">User location</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/location" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/location/permissions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Request location permissions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/location/retrieve-current" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Get the last known location</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/location/change-location-settings" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Change location settings</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/location/request-updates" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Request location updates</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/location/background" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Access location in the background</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/location/geofencing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create and monitor geofences</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/location/transitions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Detect when users start an activity</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/location/battery" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize location for battery</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/location/testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test location workflows</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/location/migration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate to location and context APIs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/maps" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add maps</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Touch &amp; input</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/input" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/ui-events" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Input events</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Using touch gestures</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures/detector" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Detect common gestures</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures/movement" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Track touch and pointer movements</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures/scroll" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Animate a scroll gesture</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures/gesturenav" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support navigation gestures</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures/multi" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handle multi-touch gestures</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures/scale" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Drag and scale</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/gestures/viewgroup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage touch events in a ViewGroup</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Handling keyboard input</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/keyboard-input" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/keyboard-input/style" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Specifying the input method type</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/keyboard-input/visibility" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handling input method visibility</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/keyboard-input/navigation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Supporting keyboard navigation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/keyboard-input/commands" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handling keyboard actions</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Supporting game controllers</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/game-controllers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/game-controllers/controller-input" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Handling controller actions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/game-controllers/compatibility" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Supporting controllers across Android versions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/game-controllers/multiple-controllers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Supporting multiple game controllers</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Input method editors</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/creating-input-method" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Creating an input method</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/image-keyboard" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Image keyboard</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/text/spell-checker-framework" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Spelling checker</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">CameraX</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/architecture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Architecture</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/configuration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Configuration</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Use cases</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/preview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Preview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/take-photo" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Image capture</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/analyze" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Image analysis</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/video-capture" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Video capture</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Advanced topics</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/vendor-extensions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Extensions API</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/transform-output" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Transform output</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/orientation-rotation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Rotations</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camerax/devices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Devices</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Camera2</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera2" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera2/capture-sessions-requests" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Camera capture sessions and requests</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera2/camera-enumeration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Camera enumeration</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera2/multiple-camera-streams-simultaneously" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use multiple camera streams simultaneously</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera2/camera-preview-large-screens" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Camera preview on large screens</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera2/multi-camera" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Multi-Camera API</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera2/extensions-api" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Extensions API</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Camera</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera/photobasics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Taking photos</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera/videobasics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Recording videos</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/camera/cameradirect" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Controlling the camera</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/media/camera" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Camera API</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Sensors</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/sensors" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/sensors/sensors_overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Sensors overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/sensors/sensors_motion" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Motion sensors</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/sensors/sensors_position" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Position sensors</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/sensors/sensors_environment" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Environment sensors</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/sensors/gnss" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Raw GNSS measurements</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Connectivity</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Performing network operations</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/network-ops" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/network-ops/connecting" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Connect to the network</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/network-ops/managing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage network usage</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/network-ops/reading-network-state" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reading network state</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/network-access-optimization#prefetch-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize network access</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/network-ops/data-saver" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize network data usage</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/monitoring-device-state/connectivity-status-type" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Monitor connectivity status and connection metering</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/basics/network-ops/xml" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Parse XML data</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Perform network operations using Cronet</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/start" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Send a simple request</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/lifecycle" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Cronet request lifecycle</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Reference</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">org.chromium.net</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/package-summary" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/CallbackException" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">CallbackException</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">CronetEngine</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/CronetEngine" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">CronetEngine.Builder</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/CronetEngine.Builder" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/CronetEngine.Builder.LibraryLoader" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">LibraryLoader</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/CronetException" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">CronetException</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/InlineExecutionProhibitedException" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">InlineExecutionProhibitedException</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/NetworkException" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">NetworkException</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/QuicException" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">QuicException</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UploadDataProvider" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">UploadDataProvider</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UploadDataProviders" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">UploadDataProviders</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UploadDataSink" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">UploadDataSink</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">UrlRequest</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UrlRequest" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UrlRequest.Builder" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Builder</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UrlRequest.Callback" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Callback</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UrlRequest.Status" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Status</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UrlRequest.StatusListener" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">StatusListener</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">UrlResponseInfo</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UrlResponseInfo" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/cronet/reference/org/chromium/net/UrlResponseInfo.HeaderBlock" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">HeaderBlock</span></a></li></ul></div></li></ul></div></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/5g/enhance-with-5g" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Enhance your apps with 5G</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/grpc" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build client-server applications with gRPC</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Transferring data without draining the battery</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/efficient-downloads" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/efficient-downloads/efficient-network-access" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize downloads for efficient network access</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/minimize-effect-regular-updates" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Minimize the effect of regular updates</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/avoid-unoptimized-downloads" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Avoid unoptimized downloads</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/efficient-downloads/connectivity_patterns" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Modify patterns based on the connectivity type</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Reduce network battery drain</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/troubleshoot-network-issues" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Collecting network traffic data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/troubleshoot-network-issues#traffic-types" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Analyzing data traffic</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/network-access-optimization" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize network access</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/network-access-optimization#prefetch-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize user-initiated network use</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/minimize-effect-regular-updates#batch-requests" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize app-initiated network use</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/power/network/action-server-traffic" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize server-initiated network use</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connectivity/minimize-effect-regular-updates#caching" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimizing general network use</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Transfer data using Sync Adapters</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/sync-adapters" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/sync-adapters/creating-authenticator" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a Stub Authenticator</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/sync-adapters/creating-stub-provider" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a Stub Content Provider</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/sync-adapters/creating-sync-adapter" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create a Sync Adapter</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/sync-adapters/running-sync-adapter" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Run a Sync Adapter</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Bluetooth</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/setup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Set up Bluetooth</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/find-bluetooth-devices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Find Bluetooth devices</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/connect-bluetooth-devices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Connect Bluetooth devices</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/transfer-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Transfer Bluetooth data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/permissions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Bluetooth permissions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/profiles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Bluetooth profiles</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/companion-device-pairing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Companion device pairing</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Bluetooth Low Energy</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/ble-overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/find-ble-devices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Find BLE devices</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/connect-gatt-server" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Connect to a GATT server</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/bluetooth/transfer-ble-data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Transfer BLE data</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">NFC</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/nfc" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/nfc/nfc" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">NFC basics</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Advanced NFC</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/nfc/hce" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Host-based card emulation overview</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Telecom</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/telecom" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/telecom/selfManaged" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build a calling app</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/telecom/prevent-spoofing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Prevent caller ID spoofing</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/telecom/telephony-ids" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Telephony IDs</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Wi-Fi</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifi-scan" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wi-Fi scanning overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifip2p" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wi-Fi peer-to-peer</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifi-aware" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wi-Fi Aware overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifi-rtt" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wi-Fi location with RTT</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/localonlyhotspot" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Local Only Hotspot</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Wi-Fi infrastructure</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifi-infrastructure" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wi-Fi infrastructure overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifi-suggest" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wi-Fi suggestion API for internet connectivity</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifi-bootstrap" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wi-Fi Network Request API for peer-to-peer connectivity</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/passpoint" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Passpoint</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifi-save-network-passpoint-config" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Save networks and Passpoint configurations</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">USB</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/usb" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/usb/accessory" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Accessory overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/usb/host" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Host overview</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/vpn" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">VPN</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/sip" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Session initiation protocol overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Discover and connect</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/connect-devices-wirelessly" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connect-devices-wirelessly/nsd" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use network service discovery</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connect-devices-wirelessly/wifi-direct" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create P2P connections with Wi-Fi</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/connect-devices-wirelessly/nsd-wifi-direct" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use Wi-Fi P2P for service discovery</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/wifi-easy" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Wi-Fi Easy Connect</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/connectivity/omapi" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Open Mobile API reader support</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Renderscript</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/compute" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/advanced" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Advanced RenderScript</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/migrate" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate from RenderScript</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Runtime API reference</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_value_types" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Numerical types</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_object_types" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Object types</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_convert" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Conversion functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_math" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Mathematical constants and functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_vector_math" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Vector math functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_matrix" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Matrix functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_quaternion" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Quaternion functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_atomic" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Atomic update functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_time" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Time functions and types</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_allocation_data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Allocation data access functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_object_info" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Object characteristics functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_for_each" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Kernel invocation functions and types</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_io" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Input/output functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_debug" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Debugging functions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference/rs_graphics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Graphics functions and types</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/renderscript/reference" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Index</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Web-based content</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/webview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Building web apps in WebView</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/managing-webview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Managing WebView objects</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/load-local-content" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Load local content</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/dark-theme" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Darken web content</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/webview-privacy" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">User privacy in WebView crash reporting</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/migrating" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrating to WebView in Android 4.4</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/targeting" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Supporting different screens in web apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/debugging" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Debugging web apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/best-practices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Best practices for web apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/webapps/webview-testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Testing against future versions of WebView</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Android App Bundles</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-bundle" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-bundle/configure-base" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Configure the base module</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-bundle/test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build and test your app bundle</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-bundle/code-transparency" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add code transparency</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-bundle/app-bundle-format" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">The app bundle format</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/app-bundle/faq" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Frequently asked questions</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Google Play</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/billing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Google Play Billing</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Play Core Library</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Play Points</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playpoints" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playpoints/create-products" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create products and promotions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playpoints/deliver-items" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Detect and deliver products</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playpoints/test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test products</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Play Asset Delivery</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/asset-delivery" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/asset-delivery/integrate-java" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Integrate asset delivery (Kotlin &amp; Java)</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/asset-delivery/integrate-native" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Integrate asset delivery (native)</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/asset-delivery/integrate-unity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Integrate asset delivery (Unity)</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/asset-delivery/texture-compression" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Target texture compression formats</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/asset-delivery/test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test asset delivery</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Play Feature Delivery</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/feature-delivery" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/feature-delivery/install-time" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Configure install-time delivery</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/feature-delivery/conditional" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Configure conditional delivery</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/feature-delivery/on-demand" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Configure on-demand delivery</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/feature-delivery/ux-guidelines" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">On-demand delivery best practices</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/feature-delivery/instant" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Configure instant delivery</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/feature-delivery/additional-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Additional resources</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">In-app reviews</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-review" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-review/kotlin-java" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Integrate using Kotlin or Java</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-review/native" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Integrate using native code</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-review/unity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Integrate using Unity</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-review/test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test in-app reviews</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">In-app updates</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-updates" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-updates/kotlin-java" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support in-app updates (Kotlin or Java)</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-updates/native" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support in-app updates (Native)</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-updates/unity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support in-app updates (Unity)</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/playcore/in-app-updates/test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test in-app updates</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Google Play Instant</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview of Google Play Instant</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Get started with instant apps</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/getting-started/instant-enabled-app-bundle" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create an instant-enabled app bundle</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/best-practices/apps" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">UX best practices for apps</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Get started with instant games</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/getting-started/game-instant-app" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/getting-started/game-unity-plugin" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Unity plugin</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/best-practices/games" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">UX best practices for games</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/feature-module-migration" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Migrate to Android App Bundles</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/getting-started/cloud-delivery-assets" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Implement cloud delivery of assets</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/getting-started/support-play-games-services" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support Google Play Games Services</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/instant-play-games" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Instant Play games</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/instant-play-games-checklist" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Instant Play games checklist</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/guides/reduce-module-size" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reduce the size of your instant app or game</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/guides/advertising" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add ads to your instant app or game</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/guides/multiple-entry-points" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Provide multiple entry points</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Integrate with Firebase</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/guides/analytics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add Google Analytics for Firebase to your instant app</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/guides/dynamic-links" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use Firebase Dynamic Links with instant apps</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/tech-requirements" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Technical requirements checklist</span></a></li><li class="devsite-nav-item"><a href="https://play.google.com/about/other-programs/android-instant-apps/" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Google Play Instant policy</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Resources</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developers.google.com/android/reference/com/google/android/gms/instantapps/package-summary" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reference</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/samples" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Code samples</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/release-notes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">SDK release notes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/google-play-instant/instant-app-intents" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Instant App Intents</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Support</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://issuetracker.google.com/issues?q=status:open%20componentid:316045" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Known issues</span></a></li><li class="devsite-nav-item
           devsite-nav-external"><a href="https://stackoverflow.com/questions/tagged/android-instant-apps" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">StackOverflow</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/developer-api" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Play Developer API</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Play Install Referrer</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/installreferrer" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Play Install Referrer Library</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/installreferrer/library" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/reference/com/android/installreferrer/packages" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reference</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/installreferrer/release-notes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Release notes</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/installreferrer/igetinstallreferrerservice" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Play Install Referrer API</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/integrity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Play Integrity API</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Play Requirements</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/distribute/play-policies" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Play Policies</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/requirements/target-sdk" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Target API Level</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/requirements/64-bit" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support 64-bit architectures</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Application Licensing</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/licensing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/licensing/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Licensing Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/licensing/setting-up" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Setting Up for Licensing</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/licensing/server-side-verification" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adding Server-Side Verification</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/licensing/client-side-verification" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Adding Client-Side Verification</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/licensing/licensing-reference" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Licensing Reference</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/expansion-files" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">APK Expansion Files</span></a></li></ul></div></li>

  <li class="devsite-nav-item"><a href="https://developers.google.com/actions/app/" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App Actions</span></a></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Slices</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/slices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/slices/getting-started" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Getting Started</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/slices/templates" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Slice templates</span></a></li></ul></div></li>

  <li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/search/appsearch" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">On-device search</span></a></li>

  <li class="devsite-nav-item
           devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path">
        <span class="devsite-nav-text" tooltip="">Games</span>
      </div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Develop</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/tools" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Android Game Development Kit (AGDK)</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item
           devsite-nav-external"><a href="https://developer.android.com/games/agdk" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span><span class="devsite-nav-icon material-icons" data-icon="external" data-title="External" aria-hidden="true"></span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agdk/libraries-overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Libraries</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agdk/download" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Download</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agdk/release-notes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Release notes</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/develop/develop-as" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android Studio</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Android Game Development Extension for Visual Studio</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/agde" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agde/quickstart" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Quickstart</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agde/adapt-existing-project" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Configure a project</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agde/debugger" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Debugger</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agde/measure" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Measure app performance</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agde/samples" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Samples</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/agde/release-notes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Release notes</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable
           devsite-nav-beta"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Android GPU Inspector</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/agi" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/start" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Quickstart</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/supported-devices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Supported devices</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">System profiling</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/agi/sys-trace/system-profiler" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/sys-trace/system-profiler-gui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">View a system profile</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/sys-trace/counters" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">GPU performance counters</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Analyze a system profile</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/agi/sys-trace/long" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Frame processing times</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/sys-trace/memory-efficiency" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Memory efficiency</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/sys-trace/texture-memory-bw" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Texture memory bandwidth usage</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/sys-trace/vertex-memory-bw" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Vertex memory bandwidth usage</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/sys-trace/threads-scheduling" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Thread scheduling</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Frame profiling</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace/frame-profiler" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Analyze a frame profile</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace/renderpasses" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Most expensive render passes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace/vertex-formats" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Vertex formats</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace/shader-performance" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Shader performance</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Frame Profiler UI</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/perftab-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Performance pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/commands-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Commands pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/framebuffer-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Framebuffer pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/geometry-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Geometry pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/report-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Report pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/shader-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Shader pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/memory-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Memory pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/state-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">State pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/textures-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Textures pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/texture-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Texture pane</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/frame-trace-gui/pipeline-pane" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Pipeline view pane</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/vulkan-extensions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Supported Vulkan extensions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/agi/troubleshooting" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Troubleshoot</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/sdk/performance-tuner" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android Performance Tuner</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Memory Advice API</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/sdk/memory-advice/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/sdk/memory-advice/start" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Get started</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Improve</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/optimize" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Improve game performance</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/optimize/game-size" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reduce game size</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Improve device availability</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/optimize/64-bit" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support 64-bit architectures</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/develop/all-screens" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Support all screens</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Game Mode</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/gamemode" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/gamemode/gamemode-api" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize with Game Mode API</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/gamemode/gamemode-interventions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Game Mode interventions</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Vulkan and OpenGL</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/optimize/geometry" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">3D asset optimization</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/optimize/vulkan-prerotation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Vulkan Prerotation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/optimize/vertex-data-management" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Vertex data management</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Distribute</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/distribute/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable
           devsite-nav-beta"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Google Play Games for PC</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/start" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Get started</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Set up your game</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/pc-compatibility" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">PC compatibility</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/graphics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Graphics configuration</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Device input</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/input" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Set up input</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Input SDK</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/input-sdk" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/input-sdk-start" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Quickstart</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Continuity</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/identity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/continuity-requirements" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Continuity requirements</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/continuity-expected-behaviors" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Verifying requirements</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/integrating-pgs-existing-id-solutions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Existing identity solutions</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/pg-emulator" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Use the emulator</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/development-test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test on Chrome OS</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Publish and deploy</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/development-package" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Package</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/development-submit" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Submit</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/playgames/faq" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">FAQ</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/distribute/pgs" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Add game services</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/games/launch/game-instant-app" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Release with Google Play Instant</span></a></li><li class="devsite-nav-item
           devsite-nav-beta"><a href="https://developer.android.com/games/distribute/play-as-you-download" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Play as you download</span><span class="devsite-nav-icon material-icons" data-icon="beta" data-title="Beta" aria-hidden="true"></span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-heading"><div class="devsite-nav-title devsite-nav-title-no-path">
        <span class="devsite-nav-text" tooltip="">Best practices</span>
      </div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Testing</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test apps on Android</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Fundamentals</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/fundamentals" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Fundamentals of testing Android apps</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/fundamentals/what-to-test" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">What to test in Android</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/fundamentals/test-doubles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Using test doubles in Android</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Local tests</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/local-tests" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build local tests</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Instrumented tests</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/instrumented-tests" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build instrumented tests</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/instrumented-tests/ui-tests" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Automate UI tests</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">AndroidX test libraries</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/test-setup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Set up project for AndroidX Test</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/rules" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">JUnit4 rules with AndroidX Test</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/runner" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">AndroidJUnitRunner</span></a></li></ul></div></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Espresso</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/basics" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso basics</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/setup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso setup instructions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/cheat-sheet" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso cheat sheet</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/idling-resource" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso idling resources</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/intents" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso-Intents</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/lists" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso lists</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/multiprocess" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Multiprocess Espresso</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/recipes" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso recipes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/web" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Espresso Web</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/accessibility-checking" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Accessibility checking</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/espresso/additional-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Additional Resources for Espresso</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Testing other components</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/other-components/content-providers" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test content providers</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/other-components/services" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test your service</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/testing/other-components/ui-automator" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Write automated tests with UI Automator</span></a></li></ul></div></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Performance</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/performance-class" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Performance class</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Android Vitals</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/wakelock" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Stuck Partial Wake Locks</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/wakeup" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Excessive Wakeups</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/bg-wifi" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Excessive Background Wi-Fi Scans</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/bg-network-usage" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Excessive Background Network Usage</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/anr" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">ANRs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/crash" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Crashes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/render" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Slow Rendering</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/frozen" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Frozen Frames</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/permissions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Permission Denials</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/vitals/launch-time" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App Startup Time</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/appstandby" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App Standby Buckets</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/app-hibernation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App Hibernation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/components/processes-and-threads" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Processes and Threads Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/threads" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Better Performance through Threading</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Optimizing for Battery Life</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/power" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/monitoring-device-state/doze-standby" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Optimize for Doze and App Standby</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/monitoring-device-state/battery-monitoring" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Monitor the battery level and charging state</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/monitoring-device-state/connectivity-status-type" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Monitor connectivity status and connection metering</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/monitoring-device-state/docking-monitoring" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Determine and monitor the docking state and type</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/power/power-details" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Power management restrictions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/power/setup-battery-historian" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Profile battery usage with Batterystats and Battery Historian</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/power/battery-historian" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Analyze power use with Battery Historian</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/power/test-power" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Testing power-related issues</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/reduce-apk-size" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Reduce your app size</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Manage memory</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/memory-overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview of Memory Managemement</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/memory-management" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Memory Allocation among Processes</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/memory" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Manage Your App's Memory</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">System tracing</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/tracing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/tracing/command-line" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Capture a trace from the command line</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/tracing/on-device" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Capture a trace on a device</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/tracing/navigate-report" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Navigate a report</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/tracing/custom-events" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Define custom events</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/tracing/custom-events-native" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Custom trace events in native code</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/performance/rendering/inspect-gpu-rendering" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Inspect GPU rendering</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/practices/app-design/seamlessness" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Designing for Seamlessness</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/perf-anr" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Keeping Your App Responsive</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/smp" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">SMP Primer for Android</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/practices/verifying-apps-art" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Verifying App Behavior on the Android Runtime (ART)</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Accessibility</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/accessibility" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build and test apps for accessibility</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/accessibility/apps" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Make apps more accessible</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/accessibility/principles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Principles for improving app accessibility</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/accessibility/testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test your app's accessibility</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Advanced topics</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/accessibility/custom-views" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Make custom views more accessible</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/accessibility/service" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Create your own accessibility service</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/ui/accessibility/additional-resources" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Additional resources</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Privacy</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/privacy/best-practices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Privacy best practices</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Security</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/security/best-practices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App security best practices</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/security-tips" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Security tips</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/security/data" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Security with data</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/security/data-android-versions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Security with data across additional Android versions</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/security-ssl" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Security with HTTPS and SSL</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/security-config" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Network security configuration</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/security-gms-provider" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Updating your security provider to protect against SSL exploits</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Protecting against security threats with SafetyNet</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/training/safetynet" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/safetynet/attestation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">SafetyNet Attestation API</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/safetynet/safebrowsing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">SafetyNet Safe Browsing API</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/safetynet/recaptcha" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">SafetyNet reCAPTCHA API</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/safetynet/verify-apps" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">SafetyNet Verify Apps API</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/security/cryptography" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Cryptography</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/keystore" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android Keystore System</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/security-key-attestation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Verifying hardware-backed key pairs with key attestation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/security-android-protected-confirmation" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android Protected Confirmation</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/articles/direct-boot" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Supporting Direct Boot</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/topic/security/dex" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Running embedded DEX code</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/google/play/asi" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">App security improvement program</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build for Billions</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/topic/billions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/docs/quality-guidelines/build-for-billions/connectivity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Connectivity</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/docs/quality-guidelines/build-for-billions/device-capacity" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Device capability</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/docs/quality-guidelines/build-for-billions/data-cost" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Data cost</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/docs/quality-guidelines/build-for-billions/battery-consumption" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Battery consumption</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/docs/quality-guidelines/build-for-billions/ui" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">UI and content</span></a></li></ul></div></li>

  <li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Build for Enterprise</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/work/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/guide" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Developer guide</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/managed-profiles" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Work profiles</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/managed-configurations" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Set up managed configurations</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">App feedback</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/work/app-feedback/overview" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Send app feedback to EMMs</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/app-feedback/testing" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Test app feedback</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/contacts" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Work contacts</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/device-management-policy" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Device management policies</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Device management</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/build-dpc" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/build-dpc" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Build a device policy controller</span></a></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Dedicated devices</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/dedicated-devices" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/dedicated-devices/lock-task-mode" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Lock task mode</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/dedicated-devices/multiple-users" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Multiple users</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/dedicated-devices/cookbook" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Cookbook</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/device-management" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Device control</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/network-telephony" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Networking and telephony</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/security" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Security</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/system-updates" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">System updates</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/dpc/logging" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Network activity logging</span></a></li></ul></div></li><li class="devsite-nav-item
           devsite-nav-expandable"><div class="devsite-expandable-nav">
      <a class="devsite-nav-toggle" aria-hidden="true" one-link-mark="yes"></a><div class="devsite-nav-title devsite-nav-title-no-path" tabindex="0" role="button">
        <span class="devsite-nav-text" tooltip="">Android versions</span>
      </div><ul class="devsite-nav-section"><li class="devsite-nav-item"><a href="https://developer.android.com/work/versions" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Overview</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/versions/android-12" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android 12</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/versions/android-11" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android 11</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/versions/android-10" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android 10</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/versions/android-9.0" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android 9</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/versions/android-8.0" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android 8.0</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/work/versions/android-7.0" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Android 7.0</span></a></li></ul></div></li><li class="devsite-nav-item"><a href="https://developer.android.com/guide/topics/admin/device-admin" class="devsite-nav-title" one-link-mark="yes"><span class="devsite-nav-text" tooltip="">Device administration</span></a></li></ul></div></li>
          </ul>
        
        
          
    
  
    
  
    
  
    
  
    
  
    
  
    
  
        
        
          
    
  
    
  
    
  
    
  
    
  
        
      </div>
    
  </div>
</nav>
        
      </devsite-book-nav><div class="devsite-book-nav-blur" fixed="" style="--devsite-js-book-nav-scrollbar-width:8px;"></div><button class="devsite-book-nav-toggle" aria-haspopup="menu" fixed="" aria-label="Hide side navigation" data-title="Hide side navigation" aria-expanded="true"><span class="material-icons devsite-book-nav-toggle-icon"></span></button>
      <section id="gc-wrapper" style="margin-top: 157px;">
        <main role="main" class="devsite-main-content" has-book-nav="" has-sidebar="">
          
          <div class="devsite-sidebar" fixed="" style="--devsite-js-sidebar-max-height:822px; --devsite-js-sidebar-max-width:443.5px; --devsite-js-sidebar-offset:-108px;">
            <div class="devsite-sidebar-content">
              <devsite-toc class="devsite-nav devsite-toc" role="navigation" aria-label="On this page" depth="2" scrollbars="" visible=""><ul class="devsite-nav-list"><li class="devsite-nav-item devsite-nav-heading devsite-toc-toggle" role="heading" aria-level="2"><span class="devsite-nav-title"><span class="devsite-nav-text">On this page</span></span></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="0" track-type="navigation" track-name="rightNav" track-metadata-position="0" track-metadata-link-destination="#environment"><span class="devsite-nav-text" tooltip="">       Set up your environment     </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#creating" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="1" track-type="navigation" track-name="rightNav" track-metadata-position="1" track-metadata-link-destination="#creating"><span class="devsite-nav-text" tooltip="">       Create a Wear OS app     </span></a><ul class="devsite-nav-list"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#wear-project" class="devsite-nav-title gc-analytics-event devsite-nav-active" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="1.0" track-type="navigation" track-name="rightNav" track-metadata-position="1.0" track-metadata-link-destination="#wear-project"><span class="devsite-nav-text" tooltip="">       Start a Wear OS project     </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#emulator" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="1.1" track-type="navigation" track-name="rightNav" track-metadata-position="1.1" track-metadata-link-destination="#emulator"><span class="devsite-nav-text" tooltip="">     Launch the emulator and run your Wear OS app   </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#pair-phone-with-avd" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="1.2" track-type="navigation" track-name="rightNav" track-metadata-position="1.2" track-metadata-link-destination="#pair-phone-with-avd"><span class="devsite-nav-text" tooltip="">       Pair a phone with the watch AVD     </span></a></li></ul></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#update-wear-os-project" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="2" track-type="navigation" track-name="rightNav" track-metadata-position="2" track-metadata-link-destination="#update-wear-os-project"><span class="devsite-nav-text" tooltip="">       Update a Wear OS project     </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#set-up-watch" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="3" track-type="navigation" track-name="rightNav" track-metadata-position="3" track-metadata-link-destination="#set-up-watch"><span class="devsite-nav-text" tooltip="">       Set up a watch     </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#setting-up-a-phone" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="4" track-type="navigation" track-name="rightNav" track-metadata-position="4" track-metadata-link-destination="#setting-up-a-phone"><span class="devsite-nav-text" tooltip="">       Set up a phone     </span></a><ul class="devsite-nav-list"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#android-wear-companion" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="4.0" track-type="navigation" track-name="rightNav" track-metadata-position="4.0" track-metadata-link-destination="#android-wear-companion"><span class="devsite-nav-text" tooltip="">       Use the Android version of the companion app     </span></a></li></ul></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#add-wear-os-module" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="5" track-type="navigation" track-name="rightNav" track-metadata-position="5" track-metadata-link-destination="#add-wear-os-module"><span class="devsite-nav-text" tooltip="">       Add a Wear OS module to your project     </span></a><ul class="devsite-nav-list"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#wear-module" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="5.0" track-type="navigation" track-name="rightNav" track-metadata-position="5.0" track-metadata-link-destination="#wear-module"><span class="devsite-nav-text" tooltip="">       Provide a Wear OS module in your existing project     </span></a></li></ul></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#libr" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="6" track-type="navigation" track-name="rightNav" track-metadata-position="6" track-metadata-link-destination="#libr"><span class="devsite-nav-text" tooltip="">       Include libraries     </span></a><ul class="devsite-nav-list"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#notifications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="6.0" track-type="navigation" track-name="rightNav" track-metadata-position="6.0" track-metadata-link-destination="#notifications"><span class="devsite-nav-text" tooltip="">Notifications</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#wear-os-ui-library" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="6.1" track-type="navigation" track-name="rightNav" track-metadata-position="6.1" track-metadata-link-destination="#wear-os-ui-library"><span class="devsite-nav-text" tooltip="">Wear OS UI Library</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#other-jetpack-libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="6.2" track-type="navigation" track-name="rightNav" track-metadata-position="6.2" track-metadata-link-destination="#other-jetpack-libraries"><span class="devsite-nav-text" tooltip="">Other Jetpack libraries</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#play-services-and-the-wearable-data-layer-apis" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="6.3" track-type="navigation" track-name="rightNav" track-metadata-position="6.3" track-metadata-link-destination="#play-services-and-the-wearable-data-layer-apis"><span class="devsite-nav-text" tooltip="">Play Services and the Wearable Data Layer APIs</span></a></li></ul></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#differences" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="7" track-type="navigation" track-name="rightNav" track-metadata-position="7" track-metadata-link-destination="#differences"><span class="devsite-nav-text" tooltip="">   Differences between phone and watch apps </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#save-power" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="8" track-type="navigation" track-name="rightNav" track-metadata-position="8" track-metadata-link-destination="#save-power"><span class="devsite-nav-text" tooltip="">   Save power on the watch </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#pairing-assistant" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Right nav" data-value="9" track-type="navigation" track-name="rightNav" track-metadata-position="9" track-metadata-link-destination="#pairing-assistant"><span class="devsite-nav-text" tooltip="">   Use the Wear OS emulator pairing assistant </span></a></li></ul></devsite-toc>
              <devsite-recommendations-sidebar class="nocontent devsite-nav"></devsite-recommendations-sidebar>
            </div>
          </div>
          
          <devsite-content>
            
              

















<article class="devsite-article" has-bookmark="">
  
  
  

  <div class="devsite-article-meta nocontent" role="navigation">
    
    
    <ul class="devsite-breadcrumb-list" aria-label="Breadcrumb">
  
  <li class="devsite-breadcrumb-item
             ">
    
    
    
      
  <a href="https://developer.android.com/" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="1" track-type="globalNav" track-name="breadcrumb" track-metadata-position="1" track-metadata-eventdetail="Android Developers" one-link-mark="yes">
    
        Android Developers
      
  </a>
  
    
  </li>
  
  <li class="devsite-breadcrumb-item
             ">
    
      
      <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div>
    
    
    
      
  <a href="https://developer.android.com/docs" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="2" track-type="globalNav" track-name="breadcrumb" track-metadata-position="2" track-metadata-eventdetail="" one-link-mark="yes">
    
        Docs
      
  </a>
  
    
  </li>
  
  <li class="devsite-breadcrumb-item
             ">
    
      
      <div class="devsite-breadcrumb-guillemet material-icons" aria-hidden="true"></div>
    
    
    
      
  <a href="https://developer.android.com/guide" class="devsite-breadcrumb-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Breadcrumbs" data-value="3" track-type="globalNav" track-name="breadcrumb" track-metadata-position="3" track-metadata-eventdetail="" one-link-mark="yes">
    
        Guides
      
  </a>
  
    
  </li>
  
</ul>
    
      
    <devsite-thumb-rating position="header"><div class="devsite-thumb-rating" role="form" aria-labelledby="devsite-thumb-label-header" tabindex="0"><div class="devsite-thumb-label" id="devsite-thumb-label-header">Was this helpful?</div><div class="devsite-thumbs"><button class="devsite-thumb devsite-thumb-up" data-title="Helpful" aria-label="Helpful"><svg class="devsite-thumb-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M21,7h-6.31l0.95-4.57l0.03-0.32c0-0.41-0.17-0.79-0.44-1.06L14.17,0c0,0-7.09,6.85-7.17,7H2v13h16 c0.83,0,1.54-0.5,1.84-1.22l3.02-7.05C22.95,11.5,23,11.26,23,11V9C23,7.9,22.1,7,21,7z M7,18H4V9h3V18z M21,11l-3,7H9V8l4.34-4.34 L12,9h9V11z"></path></svg></button><button class="devsite-thumb devsite-thumb-down" data-title="Not helpful" aria-label="Not helpful"><svg class="devsite-thumb-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M3,17h6.31l-0.95,4.57l-0.03,0.32c0,0.41,0.17,0.79,0.44,1.06L9.83,24c0,0,7.09-6.85,7.17-7h5V4H6 C5.17,4,4.46,4.5,4.16,5.22l-3.02,7.05C1.05,12.5,1,12.74,1,13v2C1,16.1,1.9,17,3,17z M17,6h3v9h-3V6z M3,13l3-7h9v10l-4.34,4.34 L12,15H3V13z"></path></svg></button></div></div></devsite-thumb-rating>
  
    
  </div>
  
  
    <h1 class="devsite-page-title">Create and run a wearable app</h1>
  
  <devsite-bookmark class="show" data-title="Add bookmark"><input type="checkbox" class="bookmark-checkbox" aria-label="Add bookmark"></devsite-bookmark>
  <devsite-toc class="devsite-nav devsite-toc-embedded" depth="2" devsite-toc-embedded="" expandable="" visible=""><ul class="devsite-nav-list"><li class="devsite-nav-item devsite-nav-heading devsite-toc-toggle" role="heading" aria-level="2"><span class="devsite-nav-title"><span class="devsite-nav-text">On this page</span></span><button type="button" title="Expand/collapse contents" class="devsite-nav-show-all button-transparent material-icons"></button></li><li class="devsite-nav-item" visible=""><a href="https://developer.android.com/training/wearables/get-started/creating#environment" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="0" track-type="navigation" track-name="embeddedNav" track-metadata-position="0" track-metadata-link-destination="#environment"><span class="devsite-nav-text" tooltip="">       Set up your environment     </span></a></li><li class="devsite-nav-item" visible=""><a href="https://developer.android.com/training/wearables/get-started/creating#creating" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="1" track-type="navigation" track-name="embeddedNav" track-metadata-position="1" track-metadata-link-destination="#creating"><span class="devsite-nav-text" tooltip="">       Create a Wear OS app     </span></a><ul class="devsite-nav-list"><li class="devsite-nav-item" visible=""><a href="https://developer.android.com/training/wearables/get-started/creating#wear-project" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="1.0" track-type="navigation" track-name="embeddedNav" track-metadata-position="1.0" track-metadata-link-destination="#wear-project"><span class="devsite-nav-text" tooltip="">       Start a Wear OS project     </span></a></li><li class="devsite-nav-item" visible=""><a href="https://developer.android.com/training/wearables/get-started/creating#emulator" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="1.1" track-type="navigation" track-name="embeddedNav" track-metadata-position="1.1" track-metadata-link-destination="#emulator"><span class="devsite-nav-text" tooltip="">     Launch the emulator and run your Wear OS app   </span></a></li><li class="devsite-nav-item" visible=""><a href="https://developer.android.com/training/wearables/get-started/creating#pair-phone-with-avd" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="1.2" track-type="navigation" track-name="embeddedNav" track-metadata-position="1.2" track-metadata-link-destination="#pair-phone-with-avd"><span class="devsite-nav-text" tooltip="">       Pair a phone with the watch AVD     </span></a></li></ul></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#update-wear-os-project" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="2" track-type="navigation" track-name="embeddedNav" track-metadata-position="2" track-metadata-link-destination="#update-wear-os-project"><span class="devsite-nav-text" tooltip="">       Update a Wear OS project     </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#set-up-watch" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="3" track-type="navigation" track-name="embeddedNav" track-metadata-position="3" track-metadata-link-destination="#set-up-watch"><span class="devsite-nav-text" tooltip="">       Set up a watch     </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#setting-up-a-phone" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="4" track-type="navigation" track-name="embeddedNav" track-metadata-position="4" track-metadata-link-destination="#setting-up-a-phone"><span class="devsite-nav-text" tooltip="">       Set up a phone     </span></a><ul class="devsite-nav-list"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#android-wear-companion" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="4.0" track-type="navigation" track-name="embeddedNav" track-metadata-position="4.0" track-metadata-link-destination="#android-wear-companion"><span class="devsite-nav-text" tooltip="">       Use the Android version of the companion app     </span></a></li></ul></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#add-wear-os-module" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="5" track-type="navigation" track-name="embeddedNav" track-metadata-position="5" track-metadata-link-destination="#add-wear-os-module"><span class="devsite-nav-text" tooltip="">       Add a Wear OS module to your project     </span></a><ul class="devsite-nav-list"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#wear-module" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="5.0" track-type="navigation" track-name="embeddedNav" track-metadata-position="5.0" track-metadata-link-destination="#wear-module"><span class="devsite-nav-text" tooltip="">       Provide a Wear OS module in your existing project     </span></a></li></ul></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#libr" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="6" track-type="navigation" track-name="embeddedNav" track-metadata-position="6" track-metadata-link-destination="#libr"><span class="devsite-nav-text" tooltip="">       Include libraries     </span></a><ul class="devsite-nav-list"><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#notifications" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="6.0" track-type="navigation" track-name="embeddedNav" track-metadata-position="6.0" track-metadata-link-destination="#notifications"><span class="devsite-nav-text" tooltip="">Notifications</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#wear-os-ui-library" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="6.1" track-type="navigation" track-name="embeddedNav" track-metadata-position="6.1" track-metadata-link-destination="#wear-os-ui-library"><span class="devsite-nav-text" tooltip="">Wear OS UI Library</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#other-jetpack-libraries" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="6.2" track-type="navigation" track-name="embeddedNav" track-metadata-position="6.2" track-metadata-link-destination="#other-jetpack-libraries"><span class="devsite-nav-text" tooltip="">Other Jetpack libraries</span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#play-services-and-the-wearable-data-layer-apis" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="6.3" track-type="navigation" track-name="embeddedNav" track-metadata-position="6.3" track-metadata-link-destination="#play-services-and-the-wearable-data-layer-apis"><span class="devsite-nav-text" tooltip="">Play Services and the Wearable Data Layer APIs</span></a></li></ul></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#differences" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="7" track-type="navigation" track-name="embeddedNav" track-metadata-position="7" track-metadata-link-destination="#differences"><span class="devsite-nav-text" tooltip="">   Differences between phone and watch apps </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#save-power" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="8" track-type="navigation" track-name="embeddedNav" track-metadata-position="8" track-metadata-link-destination="#save-power"><span class="devsite-nav-text" tooltip="">   Save power on the watch </span></a></li><li class="devsite-nav-item"><a href="https://developer.android.com/training/wearables/get-started/creating#pairing-assistant" class="devsite-nav-title gc-analytics-event" data-category="Site-Wide Custom Events" data-action="click" data-label="Embedded nav" data-value="9" track-type="navigation" track-name="embeddedNav" track-metadata-position="9" track-metadata-link-destination="#pairing-assistant"><span class="devsite-nav-text" tooltip="">   Use the Wear OS emulator pairing assistant </span></a></li><li class="devsite-toc-toggle"><button type="button" class="button-flat devsite-nav-more-items material-icons" track-type="navigation" track-name="embeddedNavExpand" title="Expand/collapse contents"></button></li></ul></devsite-toc>

  
  <devsite-recommendations-dropdown class="nocontent"></devsite-recommendations-dropdown>
  

  <div class="devsite-article-body clearfix
    ">

    
      

    <p>
      Wear OS apps run directly on a watch, giving you access to hardware such as
      sensors and the GPU. Wearable apps are similar to other apps that use the Android SDK,
      but differ in design and functionality.
    </p>

    <p>
      A Wear OS app should work independently of a phone app,
      allowing users the greatest flexibility in their choice of phones.
      For more information, see
      <a href="https://developer.android.com/training/wearables/apps/independent-vs-dependent" one-link-mark="yes">
      Independent versus dependent Wear OS apps</a>.
    </p>

    <p class="note"><strong>Note:</strong>
      You can test your app on an actual watch using USB, Wi-Fi, or Bluetooth as described in
      <a href="https://developer.android.com/training/wearables/apps/debugging" one-link-mark="yes">
      Debug a Wear OS app</a>. Debugging your app on an actual watch enables you to better evaluate
      the total user experience. You can also use the watch emulator in Android Studio to test
      your app with different screen shapes and sizes.
    </p>

    <h2 id="environment" data-text="       Set up your environment     " role="presentation"><span class="devsite-heading" role="heading" aria-level="2">
      Set up your environment
    </span><button type="button" class="devsite-heading-link button-flat material-icons" aria-label="Copy link to this section: 
      Set up your environment
    " data-title="Copy link to this section: 
      Set up your environment
    " data-id="environment"></button></h2>

    <p>Install the latest version of <a href="https://developer.android.com/studio" one-link-mark="yes">Android Studio</a>.
      For information about creating apps in Android Studio, see
      <a href="https://developer.android.com/studio/projects" one-link-mark="yes">Projects overview</a>.
    </p>

    <p>
      Use the <a href="https://developer.android.com/studio/intro/update" one-link-mark="yes">SDK manager</a> to
      confirm that you have the latest version of the Android platform that supports Wear OS,
      <a href="https://developer.android.com/studio/releases/platforms#9.0" one-link-mark="yes">Android 9 (API level 28)</a>.
    </p>

    <p class="note">
      It is recommended that you use the Jetpack
      <a href="https://developer.android.com/training/wearables/overlays/wear-ui-library" one-link-mark="yes">Wear OS UI Library</a>. Don't
      use both the Jetpack Wear OS UI library and the legacy support library, as this can lead to
      compatibility errors.
    </p>

    <p>
      If you plan to make your Wear OS apps available for China, see <a href="https://developer.android.com/training/wearables/apps/creating-app-china" one-link-mark="yes">Create Wear OS
      apps for China</a>.
    </p>

    <h2 id="creating" data-text="       Create a Wear OS app     " role="presentation"><span class="devsite-heading" role="heading" aria-level="2">
      Create a Wear OS app
    </span><button type="button" class="devsite-heading-link button-flat material-icons" aria-label="Copy link to this section: 
      Create a Wear OS app
    " data-title="Copy link to this section: 
      Create a Wear OS app
    " data-id="creating"></button></h2>

    <p>
      You can create a Wear OS app using Android Studio's <strong>New
      Project</strong> wizard.
    </p>

    <h3 id="wear-project" data-text="       Start a Wear OS project     " role="presentation"><span class="devsite-heading" role="heading" aria-level="3">
      Start a Wear OS project
    </span><button type="button" class="devsite-heading-link button-flat material-icons" aria-label="Copy link to this section: 
      Start a Wear OS project
    " data-title="Copy link to this section: 
      Start a Wear OS project
    " data-id="wear-project"></button></h3>

    <p>
      To create a project in Android Studio:
    </p>

    <ol>
      <li>
        Click <strong>File &gt; New &gt; New Project</strong>.
      </li>

      <li>
        In the <strong>Project Template</strong> window, click the <strong>Wear OS</strong> tab,
        select <strong>Blank Activity</strong>, and click <strong>Next</strong>.
      </li>

      <li><p>

        In the <strong>New Project</strong> window, name your project, fill out the standard project
        information, and click <strong>Finish</strong>.
        </p>
        <p>
        Android Studio creates a project with an app module for your data provider.
        </p>
      </li>

      <li>
        In the <code translate="no" dir="ltr">build.gradle</code> file for the app module:

        <ul>
          <li>
            In the <code translate="no" dir="ltr">android</code> section, confirm that the
            <code translate="no" dir="ltr">compileSdkVersion</code> is set to 28.
          </li>
          <li>
            In the <code translate="no" dir="ltr">android</code> section, confirm that the
            <code translate="no" dir="ltr">targetSdkVersion</code> is set to 28.
          </li>
          <li>
            Replace the <code translate="no" dir="ltr">dependencies</code> section with Wear OS specific dependencies.
        </li>
      </ul>
      </li>
      <li>In the Android Manifest file, ensure the <code translate="no" dir="ltr"><a href="https://developer.android.com/guide/topics/manifest/uses-feature-element" one-link-mark="yes">
      &lt;uses-feature&gt;</a></code> tag is defined. Define
        <code translate="no" dir="ltr">android:name="android.hardware.type.watch"</code> as shown in the following example:
<devsite-code data-copy-event-label=""><div class="devsite-code-buttons-container" role="group" aria-label="Action buttons"><button type="button" class="gc-analytics-event material-icons devsite-icon-code-dark devsite-toggle-dark" data-category="Site-Wide Custom Events" data-label="Dark Code Toggle" track-type="exampleCode" track-name="darkCodeToggle" aria-label="Dark code theme" data-title="Dark code theme"></button><button type="button" class="gc-analytics-event material-icons devsite-icon-code-light devsite-toggle-light" data-category="Site-Wide Custom Events" data-label="Light Code Toggle" track-type="exampleCode" track-name="lightCodeToggle" aria-label="Light code theme" data-title="Light code theme"></button><button type="button" class="gc-analytics-event material-icons devsite-icon-copy" data-category="Site-Wide Custom Events" data-label="Click To Copy" track-type="exampleCode" track-name="clickToCopy" aria-label="Copy code sample" data-title="Copy code sample"></button></div><pre class="lang-xml" translate="no" dir="ltr" is-upgraded=""><span class="tag">&lt;manifest&gt;</span><span class="pln"><br>...<br>&nbsp; </span><span class="tag">&lt;uses-feature</span><span class="pln"> </span><span class="atn">android:name</span><span class="pun">=</span><span class="atv">"android.hardware.type.watch"</span><span class="pln"> </span><span class="tag">/&gt;</span><span class="pln"><br>...<br></span><span class="tag">&lt;/manifest&gt;</span><span class="pln"><br></span></pre></devsite-code>
      </li>
      <li>
        <a href="https://developer.android.com/studio/build#sync-files" one-link-mark="yes">Sync</a> your Android Studio project.
        To run the code in the new module, see <a href="https://developer.android.com/training/wearables/get-started/creating#emulator" one-link-mark="yes">
        Launch the emulator and run your Wear OS app</a>.
      </li>
    </ol>

  <h3 id="emulator" data-text="     Launch the emulator and run your Wear OS app   " role="presentation"><span class="devsite-heading" role="heading" aria-level="3">
    Launch the emulator and run your Wear OS app
  </span><button type="button" class="devsite-heading-link button-flat material-icons" aria-label="Copy link to this section: 
    Launch the emulator and run your Wear OS app
  " data-title="Copy link to this section: 
    Launch the emulator and run your Wear OS app
  " data-id="emulator"></button></h3>

    <p>
      To use the emulator, configure an Android Virtual Device (AVD). Confirm that you have the
      latest version of the <strong>Android SDK Platform-tools</strong> from the <a href="https://developer.android.com/studio/intro/update#sdk-manager" one-link-mark="yes">SDK Manager</a>.
    </p>

    <p>Configure an AVD and run your app as follows:</p>

    <ol>
      <li>
        In Android Studio, open the Android Virtual Device Manager
        by selecting <b>Tools &gt; AVD Manager</b>.
      </li>

      <li>
        Click <strong>Create Virtual Device</strong>.
      </li>

      <li>
        In the <strong>Category</strong> pane, select <strong>Wear OS</strong>
        and choose a hardware profile. Click <strong>Next</strong>.
      </li>

      <li>
        Select a system image to download. For example,
        select the image with the <strong>Release Name</strong> Pie, <strong>API Level</strong> 28,
        and the <strong>Target</strong> "Android 9.0 (Wear OS)". Click <strong>Next</strong> and
        then click <strong>Finish</strong>.
      </li>

      <li>
        Close the Android Virtual Device Manager.
      </li>

      <li>
        In the Android Studio toolbar, select the AVD you just created from the target device
        drop-down menu, then click <b>Run</b>
        <img src="./Create and run a wearable app  _  Android Developers_files/toolbar-run.png" alt="" class="inline-icon">.
        <p>
          The AVD starts and, after a few moments, runs your app. A "Hello..."
          message is displayed.
        </p>
      </li>
    </ol>

    <p>
      For more information about using AVDs, see
      <a href="https://developer.android.com/studio/run/emulator" one-link-mark="yes">
      Run apps on the Android Emulator</a>.
    </p>

    <h3 id="pair-phone-with-avd" data-text="       Pair a phone with the watch AVD     ">
      Pair a phone with the watch AVD
    </h3>

    <p>
      If you want a Google Account on the watch AVD for development,
      you can pair a phone with the watch AVD and sync a Google Account:
    </p>

    <ol>
      <li>
        Follow the steps to <a href="https://developer.android.com/training/wearables/get-started/creating#setting-up-a-phone" one-link-mark="yes">set up a phone</a>.
      </li>

      <li>
        On the phone, enable <strong>Developer Options</strong> and <strong>USB
        Debugging</strong>.
      </li>

      <li>
        Connect the phone to your computer through USB.
      </li>

      <li>
        Forward the AVD's communication port to the connected phone (each time
        the phone is connected):<br>
        <code translate="no" dir="ltr">adb -d forward tcp:5601 tcp:5601</code>
      </li>

      <li>
        On the phone, in the Wear OS app, begin the standard pairing process. For
        example, on the Welcome screen, tap the <strong>Set It Up</strong> button.
        Alternatively, if an existing watch already is paired, in the upper-left
        drop-down, tap <strong>Add a New Watch</strong>.
      </li>

      <li>
        On the phone, in the Wear OS app, tap the Overflow button,
        and then tap <strong>Pair with Emulator</strong>.
      </li>

      <li>
        Tap the <strong>Settings</strong> icon.
      </li>

      <li>
        Under <strong>Device Settings</strong>, tap <strong>Emulator</strong>.
      </li>

      <li>
        Tap <strong>Accounts</strong> and select a Google Account, and follow
        the steps in the wizard to sync the account with the emulator. If
        necessary, type the screen-lock device password, and Google Account
        password, to start the account sync.
      </li>
    </ol>

    <p class="note">
      <strong>Note:</strong>
      You can also use the Wear OS emulator pairing assistant to pair a physical or virtual phone
      with a watch AVD. The phone must be running Android 11 or higher and have the Google Play
      Store installed. In addition, this tool is only available in Android Studio Arctic Fox
      (2021.3.1) beta and higher. See
      <a href="https://developer.android.com/training/wearables/get-started/creating#pairing-assistant" one-link-mark="yes">Use the Wear OS emulator pairing assistant</a>.
    </p>

    <h2 id="update-wear-os-project" data-text="       Update a Wear OS project     ">
      Update a Wear OS project
    </h2>

    <p>
      If you have an existing project, you may need to update
      your <code translate="no" dir="ltr">settings.gradle</code> file. Make sure you use <code translate="no" dir="ltr">google()</code> to indicate the
      Google Maven repository. For related information, see
      <a href="https://developer.android.com/studio/build/dependencies#google-maven" one-link-mark="yes">Google's Maven repository</a>.
    </p>

    <p>
      Your <code translate="no" dir="ltr">settings.gradle</code> file for your
      Android Studio project should include this:
    </p>

<devsite-code data-copy-event-label=""><pre class="lang-groovy" translate="no" dir="ltr" is-upgraded=""><span class="pln">&nbsp; dependencyResolutionManagement </span><span class="pun">{</span><span class="pln"><br>&nbsp; &nbsp; &nbsp; </span><span class="pun">...</span><span class="pln"><br>&nbsp; &nbsp; &nbsp; repositories </span><span class="pun">{</span><span class="pln"><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; google</span><span class="pun">()</span><span class="pln"><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; jcenter</span><span class="pun">()</span><span class="pln"><br>&nbsp; &nbsp; &nbsp; </span><span class="pun">}</span><span class="pln"><br>&nbsp; </span><span class="pun">}</span></pre></devsite-code>

    <p class="warning">
      <b>Warning:</b> The JCenter repository became read-only on March 31st,
      2021. For more information, see
      <a href="https://developer.android.com/studio/build/jcenter-migration" one-link-mark="yes">JCenter service update</a>.
    </p>

     <h2 id="set-up-watch" data-text="       Set up a watch     ">
      Set up a watch
    </h2>

    <p>
      Deploying an app to a watch is similar to deploying an app to a phone.
    </p>

    <p>
      This section assumes that your watch has a USB port. If your watch lacks a USB port, see
      the instructions for connecting your watch using <a href="https://developer.android.com/training/wearables/apps/debugging" one-link-mark="yes">
      Wi-Fi or Bluetooth</a>.
    </p>

    <p>
      Enable adb debugging on the watch:
    </p>

    <ol>
       <li>
         Open the <strong>Settings</strong> menu on the watch.
       </li>

       <li>
         Scroll to the bottom of the menu. If no <strong>Developer options</strong>
         item is provided, tap <strong>System</strong> and then <strong>About</strong>.
       </li>

       <li>
         Tap the build number 7 times.
       </li>

       <li>
         From the <strong>Settings</strong> menu, tap <strong>Developer options</strong>.
       </li>

       <li>
         Enable <strong>ADB debugging</strong>.
       </li>
    </ol>

    <p>
      Connect the watch:
    </p>

    <ol>
      <li>
        Connect the watch to your machine through USB, so you can install apps directly
        to the watch.
      </li>

      <li>
        On the watch, tap <strong>Always allow from this computer</strong> and tap
        <strong>OK</strong>.
      </li>
    </ol>

    <p>
      After you connect the watch, run your app by selecting
      a deployment target as described in
      <a href="https://developer.android.com/studio/run" one-link-mark="yes">
      Build and run your app</a>.
    </p>

    <h2 id="setting-up-a-phone" data-text="       Set up a phone     ">
      Set up a phone
    </h2>

    <p>
      This section contains information about setting up a companion phone
      with an Wear OS companion app.
    </p>

    <p class="note"><strong>Note:</strong>
      Wear OS apps should be standalone, and work independently of a phone.
      However, if your app depends on a phone app, see the following information about updating a
      phone with the latest Wear OS companion app.
    </p>

    <h3 id="android-wear-companion" data-text="       Use the Android version of the companion app     ">
      Use the Android version of the companion app
    </h3>

    <p>
      On an Android phone, go to the <a href="https://play.google.com/store/apps/details?id=com.google.android.wearable.app" one-link-mark="yes">
      Wear OS app listing</a>. Tap <strong>Update</strong> to download and
      install the app. After installation, confirm that
      <strong>Auto-update</strong> is selected for the app (see
      the "Set up automatic updates for specific apps" section of <a href="https://support.google.com/googleplay/answer/113412" one-link-mark="yes">Update downloaded
      apps</a>). Tap <strong>Open</strong> to start the app.
    </p>

    <h4 id="android-pairing" data-text="       Pair an Android phone to a watch     ">
      Pair an Android phone to a watch
    </h4>

    <p>
      After you install the companion app on a phone, unpair any obsolete watch pairings, if
      necessary. Then pair the phone to a newly-imaged watch:
    </p>

    <ol>
      <li>
        On the phone, select your device name from the list of devices. A pairing
        code is displayed on the phone and on the watch. Ensure that the codes match.
      </li>

      <li>
        Tap <strong>Pair</strong> to continue the pairing process. When the watch
        is connected to the phone, a confirmation message is displayed. On the
        phone, a screen is displayed that lists the accounts on the phone.
      </li>

      <li>
        Choose a Google Account to add and sync to your watch.
      </li>

      <li>
        Confirm the screen lock and enter the password to start the copying of
        the account from the phone to the watch.
      </li>

      <li>
        Follow the instructions in the wizard to finish the pairing process.
      </li>
    </ol>

    <h4 id="iphone-companion" data-text="       Companion app for iPhones     ">
      Companion app for iPhones
    </h4>

    <p>
      An iOS companion app is available but the phone on which the
      app is installed must be running iOS 8.2 or higher:
    </p>

    <ol>
      <li>
        On your iPhone, visit the App Store and
        <a href="https://itunes.apple.com/us/app/android-wear/id986496028" one-link-mark="yes">download</a>
        and install the Wear OS companion app on your iPhone.
      </li>

      <li>
        Follow the instructions on the watch and on the phone to begin the
        pairing process. For additional information, see the related
        <a href="https://support.google.com/androidwear/answer/6057772?co=GENIE.Platform%3DiOS&amp;oco=0" one-link-mark="yes">
        Help page</a>.
      </li>
    </ol>

    <h2 id="add-wear-os-module" data-text="       Add a Wear OS module to your project     ">
      Add a Wear OS module to your project
    </h2>

    <p>
      You can <a href="https://developer.android.com/studio/projects/add-app-module" one-link-mark="yes">add a module</a> for a Wear OS device
      to your existing project in Android Studio, enabling you to reuse code from your
      mobile (phone) app.
    </p>

    <h3 id="wear-module" data-text="       Provide a Wear OS module in your existing project     ">
      Provide a Wear OS module in your existing project
    </h3>

    <p>
      To create a Wear OS module, open your existing Android Studio project and do the following:
    </p>

    <ol>
      <li>Click <strong>File</strong> &gt; <strong>New</strong> &gt; <strong>New Module</strong>.</li>
      <li>In the <strong>New Module</strong> window, select <strong>Wear OS Module</strong> and
        click <strong>Next</strong>.</li>
      <li>Under <strong>Configure the new module</strong>, enter:
        <ul>
          <li><strong>Application/Library Name</strong>: This string is the title of your
          app launcher icon for the new module.</li>

          <li><strong>Module Name</strong>: This string is the name of the folder for
          your source code and resource files.</li>

          <li><strong>Package Name</strong>: This string is the Java namespace for the code
          in your module. The string is added as the
          <a href="https://developer.android.com/guide/topics/manifest/manifest-element#package" one-link-mark="yes"><code translate="no" dir="ltr">package</code></a>
          attribute in the module's
          <a href="https://developer.android.com/guide/topics/manifest/manifest-intro" one-link-mark="yes">Android manifest file</a>.
          </li>

          <li><strong>Minimum SDK</strong>: Select the lowest version of the platform that the app
          module supports. For example, select <strong>API 26: Android 8.0</strong>.
          This value sets the <code translate="no" dir="ltr">minSdkVersion</code> attribute in the <code translate="no" dir="ltr">build.gradle</code>
          file, which you can edit later.</li>
          </ul>
      </li>
      <li>Click <strong>Next</strong>. You will see multiple code template options. Click
        <strong>Blank Wear OS Activity</strong> and click <strong>Next</strong>.</li>

      <li>In the <strong>Configure Activity</strong> window, enter or accept the default values
      for the <strong>Activity Name</strong>, <strong>Layout Name</strong>, and
      <strong>Source Language</strong>. Click <strong>Finish</strong>.</li>
    </ol>

    <p>Android Studio creates and syncs the files for the new module.
    Android Studio also adds any required dependencies for Wear OS
    to the new module's build file. The new module appears in
    the <strong>Project</strong> window on the left side of the screen.
    If you don't see the new module's folder, ensure the window is displaying the
    <a href="https://developer.android.com/studio/projects#ProjectFiles" one-link-mark="yes">Android view</a>.</p>

    <p>Include the following in the <code translate="no" dir="ltr">build.gradle</code> file for the new Wear OS module:</p>
    <ul>
      <li>
        In the <code translate="no" dir="ltr">android</code> section, set the values for
        <code translate="no" dir="ltr">compileSdkVersion</code> and <code translate="no" dir="ltr">targetSdkVersion</code> to 28.
      </li>
      <li>Add the dependencies you need. For more information, see
        <a href="https://developer.android.com/jetpack/androidx/releases/wear#declaring_dependencies" one-link-mark="yes">Declaring dependencies</a>.
      </li>
      <li><a href="https://developer.android.com/studio/build#sync-files" one-link-mark="yes">Sync</a> your Android Studio
        project. To run the code in the new module, see <a href="https://developer.android.com/training/wearables/get-started/creating#emulator" one-link-mark="yes">
        Launch the emulator and run your Wear OS app</a>.
      </li>
    </ul>

    <h2 id="libr" data-text="       Include libraries     ">
      Include libraries
    </h2>

    <p class="note"><b>Note:</b>
      We recommend using Android Studio for Wear OS development, as it provides project setup,
      library inclusion, and packaging.
    </p>

    <p>
      When you use Android Studio's Project Wizard, the wizard imports
      dependencies in the appropriate module's <code translate="no" dir="ltr">build.gradle</code> file.
      However, the dependencies are not required for all apps;
      please review the information below about the dependencies.
    </p>

    <p>
      To update an existing Wear OS project to the latest SDK version, use the
      settings listed in the <a href="https://developer.android.com/training/wearables/get-started/creating#wear-project" one-link-mark="yes">Start a Wear OS project</a>
      section.
    </p>

    <h3 id="notifications" data-text="Notifications">Notifications</h3>

    <p>
      For information about dependencies for notifications, see
      <a href="https://developer.android.com/training/wearables/notifications/creating" one-link-mark="yes">Create a
      notification on Wear</a>.
    </p>

    <h3 id="wear-os-ui-library" data-text="Wear OS UI Library">Wear OS UI Library</h3>

    <p>
      The components in the Wear OS UI Library are recommended because
      they exemplify best practices for watch apps.
      Therefore, it is recommended that you
      <a href="https://developer.android.com/training/wearables/ui/wear-ui-library#add-dependency" one-link-mark="yes">
      add a dependency on the Wear OS UI Library</a>.
      For more information, see the following pages:
    </p>
    <ul>
      <li>
        <a href="https://developer.android.com/training/wearables/ui/wear-ui-library" one-link-mark="yes">Using the Wear OS UI Library</a>
      </li>
      <li>
        <a href="https://developer.android.com/training/wearables/apps/layouts" one-link-mark="yes">Create custom layouts</a>
      </li>
      <li>
        Reference documentation:
        <ul>
          <li>
            <a href="https://developer.android.com/reference/androidx/wear/ambient/package-summary" one-link-mark="yes">
            <code translate="no" dir="ltr">androidx.wear.ambient</code></a>
          </li>
          <li>
            <a href="https://developer.android.com/reference/androidx/wear/input/package-summary" one-link-mark="yes">
            <code translate="no" dir="ltr">androidx.wear.input</code></a>
          </li>
          <li>
            <a href="https://developer.android.com/reference/androidx/wear/widget/package-summary" one-link-mark="yes">
            <code translate="no" dir="ltr">androidx.wear.widget</code></a>
          </li>
          <li>
            <a href="https://developer.android.com/reference/androidx/wear/widget/drawer/package-summary" one-link-mark="yes">
            <code translate="no" dir="ltr">androidx.wear.widget.drawer</code></a>
          </li>
        </ul>
      </li>
    </ul>

  <h3 id="other-jetpack-libraries" data-text="Other Jetpack libraries">Other Jetpack libraries</h3>

  <p>Wear OS has been migrating away from the support library to Jetpack. A full list
    of all the new classes is in <a href="https://developer.android.com/jetpack/androidx/releases/wear" one-link-mark="yes">our release notes</a>.
    Here are some of the highlights:</p>
  <ul>
    <li><code translate="no" dir="ltr"><a href="https://developer.android.com/reference/androidx/wear/ambient/package-summary" one-link-mark="yes">androidx.wear</a></code>
    </li>
    <li><a href="https://developer.android.com/jetpack/androidx/releases/wear#ongoing-phone-interactions-1.0.0-alpha03" one-link-mark="yes">
      <code translate="no" dir="ltr">wear-ongoing</code></a></li>
    <li><a href="https://developer.android.com/jetpack/androidx/releases/wear#wear-phone-interactions-1.0.0-alpha04" one-link-mark="yes">
      <code translate="no" dir="ltr">wear-phone-interactions</code></a></li>
    <li><a href="https://developer.android.com/jetpack/androidx/releases/wear#wear-remote-interactions-1.0.0-alpha03" one-link-mark="yes">
      <code translate="no" dir="ltr">wear-remote-interactions</code></a></li>
    <li><a href="https://developer.android.com/jetpack/androidx/releases/wear-tiles" one-link-mark="yes">
      <code translate="no" dir="ltr">wear-tiles</code></a></li>
  </ul>

    <h3 id="play-services-and-the-wearable-data-layer-apis" data-text="Play Services and the Wearable Data Layer APIs">Play Services and the Wearable Data Layer APIs</h3>
    <p>
      If your app depends on Google Play Services, either to sync and send data
      (using the Data Layer APIs) or for other reasons, you need the latest
      version of <a href="https://developers.google.com/android/guides/setup" one-link-mark="yes">
      Google Play Services</a>. If you are
      not using these APIs, remove the dependency.
    </p>

<h2 id="differences" data-text="   Differences between phone and watch apps ">
  Differences between phone and watch apps
</h2>

<p>
  The following are some of the differences between phone and watch apps:
</p>

<ul>
  <li>
    Watch apps use watch-specific APIs, where applicable (e.g., for circular
    layouts, wearable drawers, ambient mode, etc.).
  </li>
  <li>
    Watch apps have a different UX model.
  </li>
  <li>
    Watch apps contain functionality appropriate to a watch.
  </li>
  <li>
    <p>
      Watch apps can access many standard Android APIs, but don't support the following:
    </p>
    <ul>
      <li><code translate="no" dir="ltr"><a href="https://developer.android.com/reference/android/webkit/package-summary" one-link-mark="yes">android.webkit</a></code></li>
      <li><code translate="no" dir="ltr"><a href="https://developer.android.com/reference/android/print/package-summary" one-link-mark="yes">android.print</a></code></li>
      <li><code translate="no" dir="ltr"><a href="https://developer.android.com/reference/android/app/backup/package-summary" one-link-mark="yes">android.app.backup</a></code></li>
      <li><code translate="no" dir="ltr"><a href="https://developer.android.com/reference/android/appwidget/package-summary" one-link-mark="yes">android.appwidget</a></code></li>
      <li><code translate="no" dir="ltr"><a href="https://developer.android.com/reference/android/hardware/usb/package-summary" one-link-mark="yes">android.hardware.usb</a></code></li>
    </ul>
    <p>
      You can check if a watch supports a feature by calling
      <code translate="no" dir="ltr"><a href="https://developer.android.com/reference/android/content/pm/PackageManager#hasSystemFeature(java.lang.String)" one-link-mark="yes">hasSystemFeature()</a></code>
      before using an API.
    </p>
  </li>
</ul>

<h2 id="save-power" data-text="   Save power on the watch ">
  Save power on the watch
</h2>

  <p>
    A watch transitions from interactive mode to ambient mode when the watch is idle or when a user
    covers the screen with their palm.
  </p>
  <p>
    To conserve power on a watch, avoid using ambient mode. If the watch goes into the system
    ambient mode while your app is active and the user interacts again with their watch within a
    specified amount of time, your app will be brought up as the first thing they see.
  </p>
  <p>
    You may want to override ambient mode in your app for specific use cases. For example,
    override ambient mode if the user is tracking a run and needs to see the time at all times.
  </p>
  <p>
    Watch apps that can transition into ambient mode are called <em>always-on</em> apps. The
    following describes the two modes of operation for always-on apps:
  </p>

<dl>
  <dt>
    <strong>Interactive</strong>
  </dt>
  <dd>
    Use full color with fluid animation in this mode. The app is also responsive to input.
  </dd>
  <dt>
    <strong>Ambient</strong>
  </dt>
  <dd>
    Render the screen with black and white graphics and do not present any input cues in
    this mode. This display mode is only supported on devices running Android 5.1 or higher.
  </dd>
</dl>

<p>
  For more information and best practices, review the
  <a href="https://developer.android.com/training/wearables/apps/always-on" one-link-mark="yes">Keep your app visible on Wear OS</a> page.
</p>

<h2 id="pairing-assistant" data-text="   Use the Wear OS emulator pairing assistant ">
  Use the Wear OS emulator pairing assistant
</h2>

<p class="note">
  <strong>Note:</strong>
  Your phone must be running Android 11 or higher and have the Google Play Store installed to use
  the Wear OS emulator pairing assistant.
</p>

<ol>
  <li>From the device dropdown in Android Studio, click <strong>Wear OS emulator pairing
  assistant</strong>.</li>
  <li>
    <p>
      Select a phone and a Wear AVD to pair with one another. If none are available, click
    <strong>View AVD Manager</strong> to set up a phone or watch AVD. Then click
    <strong>Next</strong>.
    </p>
    <p>
      Android Studio attempts to launch and set up a bridge between the two devices. If you do
      not have the Wear OS app installed on the phone, you will be prompted to <strong>download the
      Companion app from the Play Store</strong>.
    </p>
  </li>
  <li>If prompted,<strong> open the Companion app</strong> once it is downloaded.</li>
  <li>On the phone, in the Wear OS app, begin the standard pairing process. For example, on the
  welcome screen, tap the <strong>Set It Up</strong> button. Alternatively, if an existing watch
  is already paired, in the upper left drop-down, tap <strong>Add a New Watch</strong>.</li>
  <li>On the phone, in the Wear OS app, tap the Overflow button, and then tap <strong>Pair with
  Emulator</strong>.</li>
</ol>


    

    
      <devsite-hats-survey class="nocontent" hats-id="onAFgYxTD0kxBYCLVTd0Z41p75CM" listnr-id="5207477"></devsite-hats-survey>
    
  </div>

  

  
    
      <devsite-recommendations display="in-page" hidden="" yield="">
      </devsite-recommendations>
    
    
      
    <devsite-thumb-rating position="footer"><div class="devsite-thumb-rating" role="form" aria-labelledby="devsite-thumb-label-footer" tabindex="0"><div class="devsite-thumb-label" id="devsite-thumb-label-footer">Was this helpful?</div><div class="devsite-thumbs"><button class="devsite-thumb devsite-thumb-up" data-title="Helpful" aria-label="Helpful"><svg class="devsite-thumb-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M21,7h-6.31l0.95-4.57l0.03-0.32c0-0.41-0.17-0.79-0.44-1.06L14.17,0c0,0-7.09,6.85-7.17,7H2v13h16 c0.83,0,1.54-0.5,1.84-1.22l3.02-7.05C22.95,11.5,23,11.26,23,11V9C23,7.9,22.1,7,21,7z M7,18H4V9h3V18z M21,11l-3,7H9V8l4.34-4.34 L12,9h9V11z"></path></svg></button><button class="devsite-thumb devsite-thumb-down" data-title="Not helpful" aria-label="Not helpful"><svg class="devsite-thumb-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M3,17h6.31l-0.95,4.57l-0.03,0.32c0,0.41,0.17,0.79,0.44,1.06L9.83,24c0,0,7.09-6.85,7.17-7h5V4H6 C5.17,4,4.46,4.5,4.16,5.22l-3.02,7.05C1.05,12.5,1,12.74,1,13v2C1,16.1,1.9,17,3,17z M17,6h3v9h-3V6z M3,13l3-7h9v10l-4.34,4.34 L12,15H3V13z"></path></svg></button></div></div></devsite-thumb-rating>
  
       
    
    
      
    
  

  
  
</article>


<devsite-content-footer class="nocontent">
  <p>Content and code samples on this page are subject to the licenses described in the <a href="https://developer.android.com/license" one-link-mark="yes">Content License</a>. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.</p>
  <p>Last updated 2022-01-25 UTC.</p>
</devsite-content-footer>


<devsite-notification>
</devsite-notification>


  
<div class="devsite-content-data">
  <template class="devsite-thumb-rating-down-categories"></template>
  <template class="devsite-thumb-rating-up-categories"></template>
  
</div>
            
          </devsite-content>
        </main>
        <devsite-footer-promos class="devsite-footer">
          
            

<nav class="devsite-footer-promos nocontent" aria-label="Promotions">
  <ul class="devsite-footer-promos-list">
    
    <li class="devsite-footer-promo">
      <a href="https://twitter.com/AndroidDev" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Twitter Promo" one-link-mark="yes">
        
        
        <img class="devsite-footer-promo-icon" src="./Create and run a wearable app  _  Android Developers_files/logo-twitter.svg" loading="lazy" alt="Twitter">
        
        Twitter
      </a>
      <div class="devsite-footer-promo-description">Follow @AndroidDev on Twitter</div>
    </li>
    
    <li class="devsite-footer-promo">
      <a href="https://www.youtube.com/user/androiddevelopers" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer YouTube Promo" one-link-mark="yes">
        
        
        <img class="devsite-footer-promo-icon" src="./Create and run a wearable app  _  Android Developers_files/youtube_48dp.png" loading="lazy" alt="YouTube">
        
        YouTube
      </a>
      <div class="devsite-footer-promo-description">Check out Android Developers on YouTube</div>
    </li>
    
    <li class="devsite-footer-promo">
      <a href="https://www.linkedin.com/showcase/androiddev" class="devsite-footer-promo-title gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer LinkedIn Promo" one-link-mark="yes">
        
        
        <img class="devsite-footer-promo-icon" src="./Create and run a wearable app  _  Android Developers_files/logo-linkedin.svg" loading="lazy" alt="LinkedIn">
        
        LinkedIn
      </a>
      <div class="devsite-footer-promo-description">Connect with the Android Developers community on LinkedIn</div>
    </li>
    
  </ul>
</nav>

          
        </devsite-footer-promos>
        <devsite-footer-linkboxes class="devsite-footer">
          
            
<nav class="devsite-footer-linkboxes nocontent" aria-label="Footer links">
  
  <ul class="devsite-footer-linkboxes-list">
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">More Android</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://www.android.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" one-link-mark="yes">
          
            Android
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://www.android.com/enterprise/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" one-link-mark="yes">
          
            Android for Enterprise
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://www.android.com/security-center/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" one-link-mark="yes">
          
            Security
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://source.android.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" one-link-mark="yes">
          
            Source
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/news" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" one-link-mark="yes">
          
            News
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://android-developers.googleblog.com/" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" one-link-mark="yes">
          
            Blog
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/podcasts" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" one-link-mark="yes">
          
            Podcasts
          
          </a>
          
        </li>
        
      </ul>
    </li>
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">Discover</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/games" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" one-link-mark="yes">
          
            Gaming
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/ml" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" one-link-mark="yes">
          
            Machine Learning
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/privacy" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" one-link-mark="yes">
          
            Privacy
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/training/connectivity/5g" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" one-link-mark="yes">
          
            5G
          
          </a>
          
        </li>
        
      </ul>
    </li>
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">Android Devices</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/large-screens" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" one-link-mark="yes">
          
            Large screens
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/wear" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" one-link-mark="yes">
          
            Wear OS
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/tv" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" one-link-mark="yes">
          
            Android TV
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/cars" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" one-link-mark="yes">
          
            Android for cars
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/things" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" one-link-mark="yes">
          
            Android Things
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/chrome-os" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" one-link-mark="yes">
          
            Chrome OS devices
          
          </a>
          
        </li>
        
      </ul>
    </li>
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">Releases</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/about/versions/11" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" one-link-mark="yes">
          
            Android 11
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/about/versions/10" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" one-link-mark="yes">
          
            Android 10
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/about/versions/pie" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" one-link-mark="yes">
          
            Pie
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/about/versions/oreo" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" one-link-mark="yes">
          
            Oreo
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/about/versions/nougat" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" one-link-mark="yes">
          
            Nougat
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/about/versions/marshmallow" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 6)" one-link-mark="yes">
          
            Marshmallow
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/about/versions/lollipop" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 7)" one-link-mark="yes">
          
            Lollipop
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/about/versions/kitkat" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 8)" one-link-mark="yes">
          
            KitKat
          
          </a>
          
        </li>
        
      </ul>
    </li>
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">Documentation and Downloads</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/studio/intro" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" one-link-mark="yes">
          
            Android Studio guide
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/guide" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" one-link-mark="yes">
          
            Developers guides
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/reference" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" one-link-mark="yes">
          
            API reference
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/studio" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" one-link-mark="yes">
          
            Download Studio
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://developer.android.com/ndk" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 5)" one-link-mark="yes">
          
            Android NDK
          
          </a>
          
        </li>
        
      </ul>
    </li>
    
    <li class="devsite-footer-linkbox ">
    <h3 class="devsite-footer-linkbox-heading no-link">Support</h3>
      <ul class="devsite-footer-linkbox-list">
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://issuetracker.google.com/issues/new?component=190923&amp;template=841312" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 1)" one-link-mark="yes">
          
            Report platform bug
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://issuetracker.google.com/issues/new?component=192697" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 2)" one-link-mark="yes">
          
            Report documentation bug
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://support.google.com/googleplay/android-developer" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 3)" one-link-mark="yes">
          
            Google Play support
          
          </a>
          
        </li>
        
        <li class="devsite-footer-linkbox-item">
          
          <a href="https://google.qualtrics.com/jfe/form/SV_ewWXIoEVLBcyp7f??reserved=1&amp;utm_source=FooterLink&amp;Q_Language=en&amp;utm_medium=own_srch&amp;utm_campaign=developer.android.com&amp;utm_term=0&amp;utm_content=0&amp;productTag=reg&amp;campaignDate=may19&amp;pType=devel&amp;referral_code=gV420370" class="devsite-footer-linkbox-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Link (index 4)" one-link-mark="yes">
          
            Join research studies
          
          </a>
          
        </li>
        
      </ul>
    </li>
    
  </ul>
  
</nav>
          
        </devsite-footer-linkboxes>
        <devsite-footer-utility class="devsite-footer">
          
            

<div class="devsite-footer-utility nocontent">
  
  
  <nav class="devsite-footer-sites" aria-label="Other Google Developers websites">
    <a href="https://developers.google.com/" class="devsite-footer-sites-logo-link gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Developers Link" one-link-mark="yes">
      <img class="devsite-footer-sites-logo" src="./Create and run a wearable app  _  Android Developers_files/lockup-developers.svg" loading="lazy" alt="Google Developers">
    </a>
    <ul class="devsite-footer-sites-list">
      
      <li class="devsite-footer-sites-item">
        <a href="https://developer.android.com/" class="devsite-footer-sites-link
                  gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Android Link" one-link-mark="yes">
          Android
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="https://developer.chrome.com/home" class="devsite-footer-sites-link
                  gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Chrome Link" one-link-mark="yes">
          Chrome
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="https://firebase.google.com/" class="devsite-footer-sites-link
                  gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Firebase Link" one-link-mark="yes">
          Firebase
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="https://cloud.google.com/" class="devsite-footer-sites-link
                  gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer Google Cloud Platform Link" one-link-mark="yes">
          Google Cloud Platform
        </a>
      </li>
      
      <li class="devsite-footer-sites-item">
        <a href="https://developers.google.com/products/" class="devsite-footer-sites-link
                  gc-analytics-event" data-category="Site-Wide Custom Events" data-label="Footer All products Link" one-link-mark="yes">
          All products
        </a>
      </li>
      
    </ul>
  </nav>
  

  
  <nav class="devsite-footer-utility-links" aria-label="Utility links">
    
    <ul class="devsite-footer-utility-list">
      
      <li class="devsite-footer-utility-item
                 ">
        
        
        <a class="devsite-footer-utility-link gc-analytics-event" href="https://policies.google.com/privacy" data-category="Site-Wide Custom Events" data-label="Footer Privacy link" one-link-mark="yes">
          Privacy
        </a>
        
      </li>
      
      <li class="devsite-footer-utility-item
                 ">
        
        
        <a class="devsite-footer-utility-link gc-analytics-event" href="https://developer.android.com/license" data-category="Site-Wide Custom Events" data-label="Footer License link" one-link-mark="yes">
          License
        </a>
        
      </li>
      
      <li class="devsite-footer-utility-item
                 ">
        
        
        <a class="devsite-footer-utility-link gc-analytics-event" href="https://developer.android.com/distribute/marketing-tools/brand-guidelines" data-category="Site-Wide Custom Events" data-label="Footer Brand guidelines link" one-link-mark="yes">
          Brand guidelines
        </a>
        
      </li>
      
      <li class="devsite-footer-utility-item
                 devsite-footer-utility-button">
        
        <span class="devsite-footer-utility-description">Get news and tips by email</span>
        
        
        <a class="devsite-footer-utility-link gc-analytics-event" href="https://developer.android.com/updates" data-category="Site-Wide Custom Events" data-label="Footer Subscribe link" one-link-mark="yes">
          Subscribe
        </a>
        
      </li>
      
    </ul>
    
    
    
<devsite-language-selector>
  <devsite-select class="devsite-language-selector-menu">
    
    <select aria-label="Select your language preference." class="devsite-language-selector-select" name="language" track-name="click" track-type="languageSelector">
    
    
      <option value="en" lang="en" selected="selected">
        English
      </option>
    
      <option value="id" lang="id">
        Bahasa Indonesia
      </option>
    
      <option value="es_419" lang="es_419">
        Español – América Latina
      </option>
    
      <option value="pt_br" lang="pt_br">
        Português – Brasil
      </option>
    
      <option value="zh_cn" lang="zh_cn">
        中文 – 简体
      </option>
    
      <option value="ja" lang="ja">
        日本語
      </option>
    
      <option value="ko" lang="ko">
        한국어
      </option>
    
    </select>
  <div class="devsite-select"><label id="devsite-select-245278201785589434-label" style="display:none;" aria-label="Select your language preference.">Select an option</label><button type="button" class="devsite-select-toggle" id="devsite-select-245278201785589434-button" aria-haspopup="true" aria-labelledby="devsite-select-245278201785589434-label devsite-select-245278201785589434-button" aria-controls="devsite-select-245278201785589434-popup"><span class="devsite-select-toggle-label">English</span><span class="devsite-icon devsite-icon-arrow-drop-down devsite-select-toggle-icon" aria-hidden="true"></span></button><ul class="devsite-select-list" id="devsite-select-245278201785589434-popup" tabindex="-1" role="listbox" scrollbars="" aria-labelledby="devsite-select-245278201785589434-button"><li role="option" lang="en" value="en" id="devsite-select-245278201785589434-0" class="devsite-select-item" data-index="0" data-selected="" aria-selected="true" aria-label="English, selected">English</li><li role="option" lang="id" value="id" id="devsite-select-245278201785589434-1" class="devsite-select-item" data-index="1" aria-selected="false" aria-label="Bahasa Indonesia">Bahasa Indonesia</li><li role="option" lang="es_419" value="es_419" id="devsite-select-245278201785589434-2" class="devsite-select-item" data-index="2" aria-selected="false" aria-label="Español – América Latina">Español – América Latina</li><li role="option" lang="pt_br" value="pt_br" id="devsite-select-245278201785589434-3" class="devsite-select-item" data-index="3" aria-selected="false" aria-label="Português – Brasil">Português – Brasil</li><li role="option" lang="zh_cn" value="zh_cn" id="devsite-select-245278201785589434-4" class="devsite-select-item" data-index="4" aria-selected="false" aria-label="中文 – 简体">中文 – 简体</li><li role="option" lang="ja" value="ja" id="devsite-select-245278201785589434-5" class="devsite-select-item" data-index="5" aria-selected="false" aria-label="日本語">日本語</li><li role="option" lang="ko" value="ko" id="devsite-select-245278201785589434-6" class="devsite-select-item" data-index="6" aria-selected="false" aria-label="한국어">한국어</li></ul></div></devsite-select>
</devsite-language-selector>

  </nav>
</div>
          
        </devsite-footer-utility>
        <devsite-panel style="height: auto;"></devsite-panel>
      </section></section>
    <devsite-sitemask></devsite-sitemask>
    <devsite-snackbar style="bottom: 0px;">
</devsite-snackbar>
    <devsite-tooltip></devsite-tooltip>
    <devsite-heading-link></devsite-heading-link>
    <devsite-analytics analytics-iframe="">
      
        <script async="" src="./Create and run a wearable app  _  Android Developers_files/app_loader.js.下载"></script><script type="application/json" analytics="">[{"dimensions": {"dimension6": "en", "dimension1": "Signed In", "dimension4": "Android Developers", "dimension11": false, "dimension5": "en", "dimension3": false}, "gaid": "UA-5831155-1", "metrics": {"ratings_count": "metric2", "ratings_value": "metric1"}}]</script>
<script type="application/json" gtm="">{"parameters": {"freeTrialEligibleUser": "Maybe", "internalUser": "False", "language": {"machineTranslated": "False", "requested": "en", "served": "en"}, "pageType": "article", "projectName": "Android Developers", "signedIn": "True", "tenant": "android", "recommendations": {"sourcePage": "", "sourceType": 0, "sourceRank": 0, "sourceIdenticalDescriptions": 0, "sourceTitleWords": 0, "sourceDescriptionWords": 0, "experiment": ""}}, "tags": ["GTM-KMSWPCJ"]}</script>
      
    <iframe src="./Create and run a wearable app  _  Android Developers_files/analytics-iframe.html"></iframe></devsite-analytics>
    
      <devsite-badger></devsite-badger>
    
    
<android-fully-clickable target="
        .android-grouped-resources .devsite-landing-row-item,
        .android-illustrated-resources-index .devsite-landing-row-item,
        .android-illustrated-resources-primary .devsite-landing-row-item,
        .android-illustrated-resources-secondary .devsite-landing-row-item,
        .android-illustrated-resources-secondary-small .devsite-landing-row-item,
        .android-illustrated-resources-tertiary .devsite-landing-row-item,
        .android-illustrated-resources-tertiary-small .devsite-landing-row-item,
        .android-promo .devsite-landing-row-item,
        .android-quick-link,
        .android-samples .devsite-card-wrapper,
        .fully-clickable" watch=".android-samples, devsite-content"></android-fully-clickable>
    <script nonce="">
  
  (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i;
    t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0];
    E.parentNode.insertBefore(t,E);})(window, document, 'script',
    'https://www.gstatic.com/devrel-devsite/prod/vc705ce9bd51279e80f03a51aec7c6eb1f05e56e75c958618655fc719098c9888/android/js/app_loader.js', '[3,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/vc705ce9bd51279e80f03a51aec7c6eb1f05e56e75c958618655fc719098c9888","https://www.gstatic.com/devrel-devsite/prod/vc705ce9bd51279e80f03a51aec7c6eb1f05e56e75c958618655fc719098c9888/android","https://android-dot-devsite-v2-prod.appspot.com",null,null,["/_pwa/android/manifest.json","https://www.gstatic.com/devrel-devsite/prod/vc705ce9bd51279e80f03a51aec7c6eb1f05e56e75c958618655fc719098c9888/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/vc705ce9bd51279e80f03a51aec7c6eb1f05e56e75c958618655fc719098c9888/android/images/favicon.png","https://www.gstatic.com/devrel-devsite/prod/vc705ce9bd51279e80f03a51aec7c6eb1f05e56e75c958618655fc719098c9888/android/images/lockup.svg","https://fonts.googleapis.com/css?family=Roboto:300,400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,18,21,25,40,50,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,111,112,113,115,117,118,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,138,140,141,144,147,148,149,150,151,152,153,154,155,156,157,158,159,161,163,164,165,168,169,170,173,179,182,186],"AIzaSyAP-jjEJBzmIyKR4F-3XITp8yM9T1gEEI8","AIzaSyB6xiKGDR5O3Ak2okS4rLkauxGUG7XP0hg","developer.android.com","AIzaSyAQk0fBONSGUqCNznf6Krs82Ap1-NV6J4o","AIzaSyCCxcqdrZ_7QMeLCRY20bh_SXdAYqy70KY"]')
  
</script>
    <devsite-a11y-announce aria-live="assertive" aria-atomic="true"></devsite-a11y-announce>
  
<iframe height="0" width="0" style="display: none; visibility: hidden;" src="./Create and run a wearable app  _  Android Developers_files/activityi.html"></iframe><div class="xl-chrome-ext-bar" id="xl_chrome_ext_{4DB361DE-01F7-4376-B494-639E489D19ED}" style="display: none;">
      <div class="xl-chrome-ext-bar__logo"></div>

      <a id="xl_chrome_ext_download" href="javascript:;" class="xl-chrome-ext-bar__option" one-link-mark="yes">下载视频</a>
      <a id="xl_chrome_ext_close" href="javascript:;" class="xl-chrome-ext-bar__close" one-link-mark="yes"></a>
    </div><iframe id="apiproxye28db7742ef0cc18e2d244c4731af053015c03bc0.2101275642" name="apiproxye28db7742ef0cc18e2d244c4731af053015c03bc0.2101275642" src="./Create and run a wearable app  _  Android Developers_files/proxy.html" tabindex="-1" aria-hidden="true" style="width: 1px; height: 1px; position: absolute; top: -100px; display: none;"></iframe><iframe src="./Create and run a wearable app  _  Android Developers_files/saved_resource.html" style="display: none;"></iframe></body></html>